提一个关于串口误中断的问题

2019-07-21 01:43发布











这是小弟在调试ESP8266  WIFI模块遇到的问题,现在用USART1和ESP8266通信时出现的BUG:
三个图片对应于时间顺序运行的3个断点。第一个是在关闭USART1的接受使能等,此时USART_RX_BUF还没有数据
第二个图是运行一下,结果进入了接受中断,第三个图是退出接受中断后,USART_RX_BUF获得了一个数据。
可是我明明已经关了使能,还能进行中断?并且获得数据?
另外我不WIFI拔了,把USART1接入串口转USB,用串口调试助手调试,就没有这种情况出现,请问,要怎么解决呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
xuande
1楼-- · 2019-07-21 02:42
无线转串口,RXD端的信号不稳定;
只要出现下降沿,都会误认为收到数据。
也是正常情况。

要靠协议了,比如传说中的“帧头”,还有校验。
布沙尼神甫
2楼-- · 2019-07-21 06:06
 精彩回答 2  元偷偷看……
xuande
3楼-- · 2019-07-21 11:49
回复【3楼】布沙尼神甫:
---------------------------------

如果真是这样,可能是CPU有小bug,

中断悬挂标志没有清除?一块清除,试试。
布沙尼神甫
4楼-- · 2019-07-21 12:55
 精彩回答 2  元偷偷看……
布沙尼神甫
5楼-- · 2019-07-21 17:15
回复【4楼】xuande:
---------------------------------
串口的中断服务函数,没有中断悬挂标志。干脆我退出串口后把所有中断的屏蔽试试

一周热门 更多>