目前我使用stm32+LWIP进行网络通信,(lwip应该采用的是2.0之前的版本),在通讯过程中需要周期调用lwip_periodic_handle(localtime),但是由于我程序中其他地方执行的时间长,导致长时间没有去执行lwip_periodic_handle(localtime),或者localtime长时间不更新,这两种情况会导致程序死掉吗,目前我的调试中,感觉是由于这个原因导致的程序进入硬件中断了 |
经过测试发现不是lwip_periodic_handle()及localtime导致的程序死掉,但确实是和程序中长时间延迟和在延时的过程中,上位机有发指令导致的程序卡死在硬件中断,目前无法锁定是什么原因,不知道是不是由于接收缓冲区溢出的原因?有没有遇到过类似情况的前辈们,能否给一个思路,LWIP太难啃了 |
不清楚所说的卡死在硬件中断是什么意思?hardfault中断?如果是进hardfault, 你应该检查程序是否有访问非法地址,特别是在操作指针的地方。如果每次都是发指令导致死机,可以在low_level_input这个函数里打断点,然后跟踪一下看看。 |