STM32 FREERTOS 串口只能接收一个字节咨询大家

2019-12-11 18:32发布

问题不好描述,可能是我对FREERTOS不熟悉,情况是这样,我要用STM32 FREERTOS来操作ESP8266 WIFI模块,使用的正点原子的函数,串口接收中断是这样设计的,比如发送“”AT“握手指令,串口接收A和T之间小于10ms(定时器中断)就认为是一条命令。调试中发现一个问题,只能接收一个前面一个字节"A",后面如果发送“T”的话程序就会卡死!!!不知道是不是FREERTOS的和定时器之前有冲突,还是哪里出现了问题,希望大家遇到过类似问题的话,能帮忙解决一下!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
1328616904
1楼-- · 2019-12-11 20:12
串口底层开IDLE中断,或者用软件定时器实现一下断帧,然后发送AT后等待这个IDLE的中断(可用信号量、事件组或者队列实现都是带超时的,这应该是正常套路吧,至于卡死是优先级不对
atonghua
2楼-- · 2019-12-11 21:26
1328616904 发表于 2019-4-26 11:35
串口底层开IDLE中断,或者用软件定时器实现一下断帧,然后发送AT后等待这个IDLE的中断(可用信号量、事件组 ...

好的 谢谢回复 !!!
BD8NCF
3楼-- · 2019-12-12 01:43
 精彩回答 2  元偷偷看……
aozima
4楼-- · 2019-12-12 05:01
安利一下我们的 at device和at sal。
stm32通过at对接8266的绝配
atonghua
5楼-- · 2019-12-12 09:40
BD8NCF 发表于 2019-4-26 11:45
估计是在接收中断处理程序中调用了某个函数,这个函数中某处死循环等某个状态,但是那个状态永远不会到来。 ...

好的 谢谢!!! 我去试试
atonghua
6楼-- · 2019-12-12 11:22
aozima 发表于 2019-4-26 11:50
安利一下我们的 at device和at sal。
stm32通过at对接8266的绝配

请问在哪里?

一周热门 更多>