打印

求助串口通信中数据处理问题。

[复制链接]
699|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
肉坨坨|  楼主 | 2018-6-23 10:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

问题描述:外部向串口持续传送数据,其中数据是分组的,每10个字节为一个数据包,数据包是我自定义的格式。问题是,当串口收到数据触发中断函数时,我先进行判断,如果接收到了10个字节,就转到消息处理函数,解析数据包,然后进行一系列的处理。但问题是,在进行数据包处理时,CPU处于占用状态,串口无法接收数据,当上个包处理完毕后,数据流已经不知道跑到哪里了。

有没有一种多线程的处理方式,或是缓冲区的处理方式。当串口收到数据后,存到缓冲区,然后解析数据包时,串口仍然可以接收数据,暂存到缓冲区。那么缓冲区是否要做一个队列,或是有没有别的处理方式?谢谢。(注:由于数据流时连续不断的,允许个别数据包丢失,因为下次有可能收到这个数据包。)

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

419

主题

431

帖子

0

粉丝