串口读取时遇到的问题

lemon_wei 2003-01-08 03:24:12
小弟在做一个串口程序,串口接的是一个GPS卫星天线,它每秒钟返回六行信息。在读串口数据时,得到的不是完整的信息,比如有部分是前一秒的信息,部分是本次的信息(本次的信息也没完全读取),而本次的部分信息(没读完的部分信息)又留给了下一次,如此循环。是不是卫星天线的信息还没完全返回,我就开始了读数据,才导致这样的?请问怎么解决?
...全文
44 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangrenguang 2003-01-08
  • 打赏
  • 举报
回复
你可以一个结构用来作为你存放信息的缓冲区。比如:
Info = packed record //信息
RequstSendCommand:array[0..500] of char;//要求发送文件
FileName : array[0..500] of Char;//文件名
FileSize : int64;//文件大小
FileSendComplete:array[0..500] of char;//发送完毕命令
end;
silverwonder 2003-01-08
  • 打赏
  • 举报
回复
如上,可以用buffer暂存,然后再读取!
hfycl 2003-01-08
  • 打赏
  • 举报
回复
开一个缓冲区存放串口数据
ckc 2003-01-08
  • 打赏
  • 举报
回复
应该是你读得不够快,数据丢失了

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧