串口依次发送数据问题

lovetsfuer 2011-11-14 01:49:25
一台流量设备,支持485通信,现在要依次读取出设备的瞬时流量、累计量,用的是YbCommDevice串口控件,单独读取瞬时、累计都没问题,现在依次读出读不出数据,目前这样写的,用Timer触发
//瞬时
sendString(0104000000053009)
YbCommDevice1.write();
YbCommDevice1.read();
//累计
sendString(0104005000052008)
YbCommDevice1.write();
YbCommDevice1.read();
不能这样写?请教如何写合适
...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cptang 2011-11-22
  • 打赏
  • 举报
回复

YbCommDevice1.write();

sleep(50);

YbCommDevice1.read();

hl0716 2011-11-22
  • 打赏
  • 举报
回复
485是半双工的,
收的时候不能发,跟232不同,不用考虑收发切换问题
lovetsfuer 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhiyuandigital 的回复:]

发出去,延时一下,再收
[/Quote]
解决问题了,为什么要在发出去后延时呢?
我在接收后延时的,能解决依次发,数据错乱
zhiyuandigital 2011-11-14
  • 打赏
  • 举报
回复
发出去,延时一下,再收
lovetsfuer 2011-11-14
  • 打赏
  • 举报
回复
sleep()是可以次序读出数据了,但是数据不对!
我也写了清空读写去结果还是不行?
求答案
cankoo 2011-11-14
  • 打赏
  • 举报
回复
放个SLEEP可以会好。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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