只记录现象不明原因:
条件: 2个缓冲区,一个标志用来区别,串口中断接收的数据是放在那个缓冲区里。
现象:死机,重起
------原因内存溢出------:
程序中,一缓冲区接收到字符串形式的命令后,切换到另一个缓冲区,做命令的处理以及与外部的通信,此时有一个地方出现了 问题。 具体没去深入追究。。。。
直接引入 新的改进方法: 取消缓冲区切换的方法,,,保持原来串口中断只用一个缓冲区,而当接收到命令字符串时,复制到另一个缓冲区即可。。。。这样原来程序改动也不大。
缓冲区应用原则:谁用谁初始化,用完在初始化或者叫清空。
结论串口中断 只用一个缓冲区类型为volatile.
阅读(3205) | 评论(0) | 转发(0) |