概念
- 所有的通信都是异步体系,一般来说,在操作系统中会启用线程来处理通信,但是线程会让初学者很难理解,更别说处理线程间通信以及线程锁的问题
- 一般的单片机用户熟悉的是同步体系的思维模式,即程序代码的顺序执行
- 因此,如何把异步的代码变成好理解的同步代码,这就是问题的核心了
- 因此,我们提出了“状态机队列”这个体系,通过状态机队列将异步的通信变成了好理解的伪同步代码
核心实现:
que_do(通道号,步骤号,超时时间){ //在此书写通信发送代码 }then{ //在此书写接收数据处理代码 //要区分通信结果正常和异常并分别处理 }else{ //在此书写超时处理代码 }
详细见相应的示例;
语句列表
que_close:队列执行结束
que_create:建立通信处理队列
que_debug:队列开启调试
que_do:通信队列控制语句
que_get:读取通信状态
que_go:跳转到队列的某一步开始执行
que_next:自动跳转到下一步
que_set:通信状态存储
urecv:串口接收一个字符串
urecvbin:设置串口开始接收一段二进制数据