串口读写碰到的怪问题,百思不得其解,望高手解答!

qutaosun 2006-03-20 07:42:57
我写了一个串口通讯的程序,采用两个线程分别读和写,串口采用异步工作方式。开始发现工作正常,后来无意中发现一个问题,如果我把一根串口线的一端接在电脑串口上,而另一端什么也不连接。这时程序运行很奇怪: 读串口的线程居然能读到数据,经调试发现应该是另一个现场写串口的数据(我在初始化串口的时候已经清空了串口的缓存区)。请问各位大虾,这是怎么回事啊? 怎么会发生这样的事情,经验证发现,如果串口上什么也不接的话,读串口的线程是读不到数据的。
请高手们慷慨解答啊!
...全文
224 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yz20050510 2006-03-21
  • 打赏
  • 举报
回复
检查一下相关属性设置,
c2u 2006-03-20
  • 打赏
  • 举报
回复
你可以试着先写入再读取…………

柯本 2006-03-20
  • 打赏
  • 举报
回复
另外,请检查接线方式(最好用RTS<-->CTS)
柯本 2006-03-20
  • 打赏
  • 举报
回复
我以前的确也碰到过,不过真的忘了怎么解决的,不知你用的什么通讯控件?还是自已直接用createfile写的?
qutaosun 2006-03-20
  • 打赏
  • 举报
回复
keiy兄说的好像有道理,请问怎么查看我的串口设置了loopback呢
柯本 2006-03-20
  • 打赏
  • 举报
回复
看一下读到的数据,如果和写的数据相同,可能是有一参数不对(很久不做通讯,忘了,只记得有一个loopback,会将写出的数据读回),如果是随机数,那就可能是于扰信号
「已注销」 2006-03-20
  • 打赏
  • 举报
回复
是不是用的是usb转串口的,usb转串口的不是很可靠!串口是否收发短路?

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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