Qt中用MODBUS通信的问题

「已注销」 2011-08-02 06:52:30
下位机电路板上有一个232的接口,还有一个485的接口,现在通过MODBUS协议232的接口和ARM板上的QT能通讯里。
我想问一下,我如果想改成485通讯,QT上位机和下位机的程序还可不可以用原来232的MODBUS程序,如果不能用,是需要再全都重新写么,还是要在232的MODBUS程序里改动些?如果能讲讲485和232的MODBUS原理差别就更好了。
...全文
864 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
haltwang 2013-03-31
  • 打赏
  • 举报
回复
我也遇到了同样的问题,把串口名改成了485都设备名后通信一点数据都没有,收发都没有啊
changing_better 2011-08-04
  • 打赏
  • 举报
回复
这个要看下485如何完成传输的了,最好问你们的硬件工程师,看在硬件上如何处理俩边都是发和收的问题,应该不难。还有串口传输时第一个字符bit应该是 ”0“,表示发送,所以发送接收的仲裁是在硬件上完成的,我的理解是谁先发那个起始字符bit("0"),就确定了谁是发送谁是接收,不是应用层考虑的东西了。你只管往寄存器里写数据,检测到总线空闲了控制器自然会把数据发送出去。
「已注销」 2011-08-04
  • 打赏
  • 举报
回复
是不是还要控制数据的方向啊
changing_better 2011-08-03
  • 打赏
  • 举报
回复
232和485属于物理层的协议,MODBUS属于链路层的东西,所以不管你物理层如何改变,都和链路层的东西没关系。 这就是网络分层的好处之一啊。232和485只是完成数据1和0如何传输的,232采用单电压,TTL电平,485采用共模电压,只是实现传输的方式不一样而以。只要把什么波特率,停止位,数据位设置好后,在应用层其实他们都一样。
「已注销」 2011-08-03
  • 打赏
  • 举报
回复
只有串口号和 波特率改过 数据位等都没有改过。
数据位等 有关系么
cpio 2011-08-03
  • 打赏
  • 举报
回复
比如串口号,波特率,数据位等
「已注销」 2011-08-03
  • 打赏
  • 举报
回复
你指的是什么参数
cpio 2011-08-03
  • 打赏
  • 举报
回复
参数设置对不对啊?什么数据都收不到?用串口调试工具看看能不能收发数据。
「已注销」 2011-08-03
  • 打赏
  • 举报
回复
但是现在用QT原来的MODBUS程序,下位机重新定义了485的引脚输出输入规则后,其他都没改,不能向下位机写入数据,也不能读啊
cpio 2011-08-03
  • 打赏
  • 举报
回复
485和232只是串口规格吧,跟MODBUS没关系啊,我感觉还是一样的。
开始领悟 2011-08-03
  • 打赏
  • 举报
回复
友情帮顶

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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