0

我最近买了一个带有以太网端口的 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);
        }
    }
}

代码是在英飞凌的 DAVE IDE 中编写的。

4

1 回答 1

1

ip.addr应该是0x9100A8C0192.168.0.145

于 2019-12-08T18:14:40.337 回答