我最近购买了带有以太网端口的Infineon XMC4500 RelaxKit,以使我的房屋自动化。我想通过UDP从服务器与板进行通信(控制不同的继电器等)。但是我遇到了一个问题。
根据WireShark的说法,董事会没有发送任何东西,但是我可以成功ping通它。另外,在对面板执行ping操作时,如果有帮助,以太网活动指示灯根本不会闪烁。
这是我的代码:
#include <DAVE.h>
int main(void)
{
DAVE_Init();
uint32_t button1;
char str[512] = "Hello World!";
ip_addr_t ip;
ip.addr = 0xC0A8091;//192.168.0.145
struct pbuf * pb;
pb = pbuf_alloc(PBUF_TRANSPORT, 512, PBUF_REF);
pb->payload = str;
pb->len = pb->tot_len = 512;
u16_t port = 5005;
struct udp_pcb* pcb = udp_new();
udp_connect(pcb, &ip, port);
/* Placeholder for user application code. The while loop below can be replaced with user application code. */
while(1U)
{
sys_check_timeouts();
DIGITAL_IO_SetOutputLow(&DIGITAL_IO_0);
button1 = DIGITAL_IO_GetInput(&DIGITAL_IO_1);
if ( button1 == 1 ) {
DIGITAL_IO_SetOutputLow(&DIGITAL_IO_0);
}
else {
DIGITAL_IO_SetOutputHigh(&DIGITAL_IO_0);
udp_send(pcb, pb);
}
}
}
代码是用Infineon的DAVE IDE编写的。
答案 0 :(得分:1)
ip.addr
应该为0x9100A8C0