单片机串口接收频率太高导致串口死机求指点

2020-01-17 19:04发布

单片机串口波特率设置在115200,100HZ接收和处理外来数据包然后通过SPI发出,现象是处理一两分钟串口就不再发数了
我想可能是单片机波特率和通信频率过高导致单片机串口工作异常,希望大家给解释一下愿意,提供一些思路
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
23条回答
hechengzhu04
2020-01-20 02:38
死机,一般来说跟串口速率及发送频次没有直接关系。请楼主查一下串口中断服务程序,特别查查接收缓存数组,有没有下表越界情况。超出最大缓存后的数据一定要抛掉,否则内存溢出,会出现意想不到的问题。另外,接收完成后,解析命令的程序是否存在数组越界的情况。再有,SPI程序是否再串口程序干扰下,导致缓存溢出。这三处查查,可能会查到问题

一周热门 更多>