单片机如何接收和解析串口屏数据
实现一个环形队列,此队列为串口的环形缓冲区,以下称为环形缓冲区
在单片机的串口中断事件中,将串口接收到的数据存入环形缓冲区中(入队)
在main函数的循环中,检测串口缓冲区的长度是否大于1帧的长度
如果大于1帧的长度,判断帧头帧尾以及校验
如果帧头帧尾符合,且校验通过,将相应的数据拷贝到数组或者结构体中并将相应的数据出队,执行第7步
如果不符合,将队首出队,重新执行第4步
对数据进行解析
解析完毕,将已解析过的数据出队
参考以下工程
实现一个环形队列,此队列为串口的环形缓冲区,以下称为环形缓冲区
在单片机的串口中断事件中,将串口接收到的数据存入环形缓冲区中(入队)
在main函数的循环中,检测串口缓冲区的长度是否大于1帧的长度
如果大于1帧的长度,判断帧头帧尾以及校验
如果帧头帧尾符合,且校验通过,将相应的数据拷贝到数组或者结构体中并将相应的数据出队,执行第7步
如果不符合,将队首出队,重新执行第4步
对数据进行解析
解析完毕,将已解析过的数据出队
参考以下工程