串口通讯中容易出现数据丢失的解决方法

tangwp 2002-05-27 04:38:05
做一个串口通讯的程序,采集数据,但是经常发现有数据丢失的现象,请问
有什么解决方法没有?
...全文
639 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
seemknow 2002-05-28
  • 打赏
  • 举报
回复
串口的处理用不同的语言效果不一样。以前我用VB写,要处理的数据有汉字、16进制,数据一多就搞不定。试过串口自环,发字符串“歼2击34机",如果接受模式是文本方式,收到的就正确,如果按字节方式,我见到的现象都是2次收事件,第一次8bytes,第二次1byte,屡试不爽。现在我正学习bcb,刚写了个小程序,就没有上述问题,准备从此丢弃vb。
dfsh 2002-05-28
  • 打赏
  • 举报
回复
再试试把波特率调低一点看,一般1200就比较稳定。
xc_fscdlon 2002-05-28
  • 打赏
  • 举报
回复
你是上位机程序嘛,我现在也在头痛这个问题,可以交流一下呵呵共同解决。我认为数据丢失是时间同步问题(windows下),我以前采用的轮讯的方式很不稳定,时间同步无法保持交好的一致,我现在想改为事件驱动或者多线程的方式。让它一直在收,知道我需要的时候去取。不知道你是怎么考虑的,多交流呵呵
我的EMAILE xc_fscdlon@163.com
ckc 2002-05-27
  • 打赏
  • 举报
回复
有几个方法:
使用中断方式
打开16550的缓冲,比如3F8口就是输出outp(0x3fa,7)
在dos下做,windows的实时性很差
qsfsea 2002-05-27
  • 打赏
  • 举报
回复
加协议,出错重发
  • 打赏
  • 举报
回复
主要是在硬件电路上作文章!
如果太远了,最好采用rs232接口
欢迎与我讨论qq:6266465

4,388

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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