红联Linux门户
Linux帮助

ubuntu下Qt串口及modbus例程调试

发布时间:2016-08-02 11:21:28来源:linux网站作者:maowendi
最在学习Qt下实现mosbus协议通信,环境为ubuntu16.04 + Qt5.6.1,Qt自带了例程。把调试程序的点滴记录下来,也希望给和我一样的小白带来帮助。
 
1.制作虚拟串口调试工具
在网上搜到Qt串口调试需要的工具,虚拟串口,python语言编写的,直接拿来用。 
#! /usr/bin/env python
#coding=utf-8
import pty
import os
import select
def mkpty():
#
master1, slave = pty.openpty()
slaveName1 = os.ttyname(slave)
master2, slave = pty.openpty()
slaveName2 = os.ttyname(slave)
print '\nslave device names: ', slaveName1, slaveName2
return master1, master2
if __name__ == "__main__":
master1, master2 = mkpty()
while True:
rl, wl, el = select.select([master1,master2], [], [], 1)
for master in rl:
data = os.read(master, 128)
print "read %d data." % len(data)
if master==master1:
os.write(master2, data)
else:
os.write(master1, data)
把上边的代码保存文件为VirtualComTest.py
在终端下执行python VirtualComTest.py,效果如下图所示(虚拟串口制作完成)
ubuntu下Qt串口及modbus例程调试
此时/dev/pts/21、/dev/pts/22两个口即为连接状态。
 
2.打开例程并调试
Qt5.6.1中搜索到modbus例程
ubuntu下Qt串口及modbus例程调试
Slave例程执行后的效果(在Port后输入 /dev/pts/21,然后点connect)
ubuntu下Qt串口及modbus例程调试
可以连接上。
Master例程执行后的效果,连接同上,Prot口输入/dev/pts/22,此时两个程序可以通信。
ubuntu下Qt串口及modbus例程调试
程序代码还没有仔细看。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22932.html