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

2019-12-11 18:40发布

用AT指令,在发送了指令后要等待串口回复(比如:OK , GOT TO IP,等等),主要是这个等待的时候从几百到几十秒不等(网络回复时间慢),在等待的时候不可能就在那里等吧,搞了几种方式,感觉都不得要领,请问大伙是怎样搞的?
最好的是用小型的操作系统,因为用delay时会释放CPU给其它任务用。
用状态机的话,看着一堆case,头皮发麻。
啥都不用,直接等,只能在初始化的时候用,大循环用不了了。。
头疼。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
28条回答
yyts
1楼-- · 2019-12-14 05:07
jssd 发表于 2019-4-12 09:11
看了。正点原子的也是等待回复了。死等+超时。如果用操作系统,这样写就OK的了。但我没用操作系统,自己 ...

这是接收部分程序没处理好吧,下发数据会用个表识,IPD。。之类的,要每个接收到的命令(数据)都能解析出来。
Ray______
2楼-- · 2019-12-14 06:18
裸机的话可以状态机加一个超时等待的状态。OS的话就延时就好
stanley.zhao
3楼-- · 2019-12-14 07:20
 精彩回答 2  元偷偷看……
aozima
4楼-- · 2019-12-14 12:09
本帖最后由 aozima 于 2019-4-12 15:08 编辑
stanley.zhao 发表于 2019-4-12 14:49
哪个里面的at device框架,没搜到的,能具体一点描述下么,谢谢


一套解析AT的代码包
https://github.com/RT-Thread-packages/at_device#readme

http://packages.rt-thread.org/itemDetail.html?package=at_device

还有很多其它的包
http://packages.rt-thread.org/index.html
love_ourdev
5楼-- · 2019-12-14 15:40
这个问题我有很好的解决方案。我的需求很复杂:一个MQTT长连接,外加随时发起的http连接;要求这两个基于TCP的连接互不干扰,随时可用;另外还要随时可以配置ESP8266模块的工作参数。
zjykymt
6楼-- · 2019-12-14 17:57
使用两个处理任务,一个任务专门用于处理接收,一个任务专门用于处理发送。

一周热门 更多>