无法使用Infineon XMC 4500 RelaxKit发送UDP数据包

时间:2019-03-17 14:14:28

标签: c udp lwip infineon

我最近购买了带有以太网端口的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编写的。

1 个答案:

答案 0 :(得分:1)

对于192.168.0.145,

ip.addr应该为0x9100A8C0