初级会员
- 积分
- 122
- 金钱
- 122
- 注册时间
- 2014-11-15
- 在线时间
- 17 小时
|
1金钱
采用STM32H7+FREERTOS+LWIP +UDP,想实现UDP发送接受,目前现象为能正确收到数据,但发不出去数据。当在任务中只使能udp_recv()函数时,能正确收到数,但网络调试助手没发送数据也会一直进入ETH中断;同时使用udp_recv()函数和udp_send()函数时,收不到数也发不出去数,进不了ETH中断,任务代码如下(在low_level_output函数里也加了SCB_CleanInvalidateDCache),烦请帮解答定位一下
g_upcb = udp_new();
if (g_upcb)
{
IP4_ADDR(&remoteddr, remote_REC_IP_ADDRESS[0], remote_REC_IP_ADDRESS[1], remote_REC_IP_ADDRESS[2], remote_REC_IP_ADDRESS[3]);
err=udp_connect(g_upcb,&remoteddr,UDP_REMOTE_PORT);//UDP客户端连接到指定IP地址和端口号的服务器
if(err==ERR_OK)
{
err = udp_bind(g_upcb, IP_ADDR_ANY, UDP_HOME_PORT);
}
}
while(1)
{
udp_recv(g_upcb, udp_receive_callback, NULL); //接收
udp_demo_senddata(g_upcb); //发送
HAL_GPIO_TogglePin(LED_RED_GPIO_Port,LED_RED_Pin);
osDelay(2000);
}
void ETH_IRQHandler(void)
{
HAL_ETH_IRQHandler(&heth);
}
|
|