野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17481|回复: 1

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

[复制链接]
发表于 2014-10-21 21:08:16 | 显示全部楼层 |阅读模式
问题描述:外部向串口持续传送数据,其中数据是分组的,每10个字节为一个数据包,数据包是我自定义的格式。问题是,当串口收到数据触发中断函数时,我先进行判断,如果接收到了10个字节,就转到消息处理函数,解析数据包,然后进行一系列的处理。但问题是,在进行数据包处理时,CPU处于占用状态,串口无法接收数据,当上个包处理完毕后,数据流已经不知道跑到哪里了。
有没有一种多线程的处理方式,或是缓冲区的处理方式。当串口收到数据后,存到缓冲区,然后解析数据包时,串口仍然可以接收数据,暂存到缓冲区。那么缓冲区是否要做一个队列,或是有没有别的处理方式?谢谢。(注:由于数据流时连续不断的,允许个别数据包丢失,因为下次有可能收到这个数据包。)
回复

使用道具 举报

发表于 2014-10-21 21:12:09 | 显示全部楼层
参考一下野火的gps模块对串口信息的处理,使用了串口缓冲区,并且使用串口
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 16:59 , Processed in 0.058859 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表