请教:大伙用sim900或者esp8266等等,是怎样写的程序

2019-12-11 18:40发布

用AT指令,在发送了指令后要等待串口回复(比如:OK , GOT TO IP,等等),主要是这个等待的时候从几百到几十秒不等(网络回复时间慢),在等待的时候不可能就在那里等吧,搞了几种方式,感觉都不得要领,请问大伙是怎样搞的?
最好的是用小型的操作系统,因为用delay时会释放CPU给其它任务用。
用状态机的话,看着一堆case,头皮发麻。
啥都不用,直接等,只能在初始化的时候用,大循环用不了了。。
头疼。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
lcw_swust
1楼-- · 2019-12-11 23:52
 精彩回答 2  元偷偷看……
phl
2楼-- · 2019-12-12 00:45
使用类似菜单方式实现,函数指针,加个定时器
磊磊映画
3楼-- · 2019-12-12 04:17
请参考 正点原子的 SIM900A 通信例程,写的比较好  
caoxuedong
4楼-- · 2019-12-12 06:22
ESP8266有RTOS版本和NONOS版本,RTOS版本使用freertos,可以用任务调度,NONOS使用回调和定时器,所以都不用等待,前日是,没有用AT的版本。
wxws
5楼-- · 2019-12-12 07:27
楼主问的就是使用at 指令的.

AT 等待的处理确实是麻烦的要死,所以一定要用个类似OS或OS来处理程序 ,不然MCU都等死了.
我是喜欢用:ProtoThreads
也可以freertos之类的.

实际上现在很多通讯模块都支持 内置开发不需要另外的at指令.
比如合宙air202 内置lua开发
esp8266可以直接用它的SDK写固件,也可以用lua
就不需要跟at指令打交道了.
jssd
6楼-- · 2019-12-12 09:43
 精彩回答 2  元偷偷看……

一周热门 更多>