我最近买了一台带以太网端口的英飞凌XMC4500 RelaxKit,可以让我的房子实现自动化。我想通过UDP从服务器到主板(控制不同的中继等)进行通信。但我遇到了一个问题。
根据WireShark的说法,董事会没有发送任何东西,但我可以成功地ping通它。此外,当pinging电路板时,以太网活动指示灯根本不闪烁,如果这有帮助的话。
这是我的代码:
#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中编写的。
发布于 2019-12-09 02:14:40
192.168.0.145的ip.addr应为0x9100A8C0
https://stackoverflow.com/questions/55207998
复制相似问题