loveyond 发表于 2023-3-23 14:31

at32f437用lwip做udp server,运行一段时间后,故障现象为:能ping通,但是主程序死机。请问是...

udp_send在主循环中,udp_recv中mac中断中。

运行一段时间后(几小时后),主循环程序当掉了,但是ping正常。

请问一个问题:我的疑问是如果ping 正常,是不是证明了mcu并没有死掉?   

谢谢~老师们!!!

loveyond 发表于 2023-3-24 11:00

???有没有老师帮忙解答下呀?

muyichuan2012 发表于 2023-3-24 13:54

本帖最后由 muyichuan2012 于 2023-3-24 18:57 编辑

emac的phy时钟是外接的吗?

loveyond 发表于 2023-3-27 10:31

本帖最后由 loveyond 于 2023-3-27 14:59 编辑

muyichuan2012 发表于 2023-3-24 13:54
emac的phy时钟是外接的吗?
不是外接的,用的是at32f437 start 开发板,用的是mcu的25mhz,我手上多个start开发板均出现,死机现象,但是能ping通。烦死了

loveyond 发表于 2023-3-27 14:59

死机的时候,mcu给phy的时钟也还是正常的25mhz,ping也能ping通,但就是主循环程序和定时器中断程序均无法正常工作

loveyond 发表于 2023-3-28 11:04

我貌似找到原因了,我要把接收中断关掉,把接收放到主循环中就不会死机。
我的接收中断写的有问题吗?这是我的接收中断的代码:
void EMAC_IRQHandler(void)
{
    /* lwip receive handle */
    lwip_rx_loop_handler();
    /* clear the emac dma rx it pending bits */
    emac_dma_flag_clear(EMAC_DMA_RI_FLAG);
    emac_dma_flag_clear(EMAC_DMA_NIS_FLAG);
}

void lwip_rx_loop_handler(void)
{
/* handles all the received frames */
    lwip_pkt_handle();
}

loveyond 发表于 2023-3-29 11:26

哎,都没人帮助吗?

hearstnorman323 发表于 2023-4-4 22:08

LWIP协议怎么提高UDP速度

janewood 发表于 2023-4-4 22:14

如何LWIP如固定本地端口号               

xiaoyaodz 发表于 2023-4-7 09:48

lwip中怎样使用http协议传输文件

wwppd 发表于 2023-4-7 10:04

lwip的移植教程怎么样            

abotomson 发表于 2023-4-7 22:31

LWIP如何实现TCP 长连接?

alvpeg 发表于 2023-4-7 22:38

LWIP UDP偶发丢包问题               

adolphcocker 发表于 2023-4-7 22:48

这个没有用过。            

pmp 发表于 2023-4-7 23:37

可以使用mqtt通信的吗            

sagade 发表于 2023-4-12 20:52

loveyond 发表于 2023-3-28 11:04
我貌似找到原因了,我要把接收中断关掉,把接收放到主循环中就不会死机。
我的接收中断写的有问题吗?这是 ...

官方的例程都没开emac中断,也是把接收放在主循环轮询的,不知道是不是有问题才这么做的?

sagade 发表于 2023-4-12 21:10

看到别家的中断处理,我明天去改改试试:
void ENET_IRQHandler(void)
{
    uint32_t reval;

    /* clear the enet DMA Rx interrupt pending bits */
    enet_interrupt_flag_clear(ENET_DMA_INT_FLAG_RS_CLR);
    enet_interrupt_flag_clear(ENET_DMA_INT_FLAG_NI_CLR);
    /* handles all the received frames */
    do{
      reval = enet_rxframe_size_get();
      
      if(reval > 1){
            lwip_pkt_handle();
      }
    }while(reval != 0);   
}

louliana 发表于 2023-4-12 21:38

lwip没有研究过的。            

geraldbetty 发表于 2023-4-12 21:51

lwip发送数据卡死正常               

timfordlare 发表于 2023-4-12 22:02

使用串口输出数据试试看的。            
页: [1] 2
查看完整版本: at32f437用lwip做udp server,运行一段时间后,故障现象为:能ping通,但是主程序死机。请问是...