串口接收缓冲区的一点体会

来源:互联网 发布:js的非阻塞sleep函数 编辑:程序博客网 时间:2024/05/22 17:13

在调试电台的使用过程中,设计到电台参数检测、电台参数修改、电台传输模式启动和数据传输是个部分,程序流程是:

(1)依次检测电台参数(CFG = 0),若电台参数正确则继续检测参数,否则修改参数设置。所有参数都正确时返回 TRUE。

(2)参数正确后进入数据传输启动模式(CFG =1),接收到READY后表示启动完成,返回TRUE。

(3)数据传输模式正常启动后,发送或接收数据。


在参数检测、参数设置、启动检测时都利用缓冲区存放串口接收到的数据,每次接收到的数据正确后将缓冲区清空,缓冲区游标指向0。由于在串口发送命令时会将缓冲区清空和游标指向0,使用在参数检测的最后一步参数检测正确后未清缓冲区和游标置0,导致整个流程(1)( 2)步之间无法正常衔接。


留下脚印,对自己三个小时工作的告慰!!


原创粉丝点击