gd32 + freerots +lwip 收发正常,但是在接收到数据,将数据进行处理时,client容易断
我现在用gd32+freerots +lwip 能够正常通信,在接收数据到数据时,根据数据的指令,进行处理另一个任务时,在用lwip下发数据想终止这次任务,但是,发现通信断开了;按道理的话,这个网络通信是中断呀!优先级最高,现在出现断开的,我实在是想不明白? 可能因为在使用lwip进行数据发送时,数据发送的函数调用导致网络通信任务被挂起,从而影响了通信的稳定性 用 lwip 的定时器机制来定期发送数据吧 发送数据时使用异步方式 是不是网络连接不稳定啊 应该任务挂起也不会断开的吧 数据包丢失了吧 在处理网络数据时,可能会因为栈溢出导致程序崩溃,从而导致通信中断 属实有点玄妙啊,你其他任务不开,就单独lwip通信的话,就正常么? 终止任务的话就任务挂起呗,就应该可以的 通信断开的话,你检查一下你的网络是不是不稳,或者IP冲突之类的,都看看 可能因为在使用lwip进行数据发送时,数据发送的函数调用导致网络通信任务被挂起,从而影响了通信的稳定性 检查任务优先级 如果数据处理算法复杂度高,可能会导致处理时间过长,从而影响网络连接。尝试优化算法或使用更高效的数据结构。 检查代码中是否存在内存泄漏,尤其是在处理大量数据时。 缓冲区溢出
页:
[1]