0
点赞
收藏
分享

微信扫一扫

qt上位机串口Modbus编程

哈哈我是你爹呀 2022-01-18 阅读 136

目录

1.串口

1.1 串口的定于

1.2 串口的分类


1.串口

1.1 串口的定于

串口(Serial port):也叫做串行通讯接口(通常指COM口),串口通信是指采用串行通讯协议在一条信号线上将数据一个比特一个比特地依次进行传输的通信模式。特点是通信线路简单,传送速度较慢。

1.2 串口的分类

串口按照电气标准及协议分为:

RS-232:标准串口,最长应串口通讯接口,传送距离位15m,最高速度为20kb/s

RS-422:最大传送距离为1219m,最大传送速度为10MB/S

RS-485:由422演变,最大传送距离为1219m,最大传送速度为10MB/S

1.3 串口的使用场景

 1.4 串口通讯的参数

串口通讯的参数
参数含义示例
端口标识是哪个串口COM1、COM2
波特率传输速率的参数,表示每秒传送的符号的个数4800,9600,14000,28800,115200
数据位当计算机发送一个信息包的实际位数,便准的ASCII码数是0-127(7位),扩展的ASCII码是0-255(8位)5,6,7,8
停止位

表示单个包的最后一位、表示传输的结束,并且提供计算机校正时钟同步的机会

1、1.5、2
奇偶校验串口通讯中一种简单的检错方式无、偶、奇、1、0
流控制当接受端数据处理不过来时,就发出“不在接受”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据

硬件流控制RTS/CTS

软件流控制XON/XOFF

 1.5 如何查看串口

 2 虚拟串口软件的使用

 

3.Qt串口编程项目搭建

QT5提供了serialport模块,方便编程人员快速的开发应用串口的应用程序,QSerialPort类是QT5封装的串口类,实现了串口通讯的功能,想使用模块,需在.pro文件中加入:

需在.h文件中加入:

 QSerialPort常用方法:

成员方法含义
setPortName设置端口名称
setBaudRate设置波特率
setDataBits设置数据位
setStopBits设置停止位
setParity设置奇偶校验
setFlowControl设置流控制
open打开串口
isOpen串口是否打开
close关闭串口

成员方法含义
readyRead每次有新数据可用于从设备的当前读取通道读取时,都会发出一次该信号
bytesWritten每次将数据负载写入设备的当前写入通道时,都会发出信号

 //连接信号和槽,

connect(&myserial,&qserialport::readyRead,this,&mainwindow::serialReadData)

connect(mySerialPort,&QSerialPort::bytesWritten,this,&MainWindow::bytesWriteData)

qtimer类简介:

提供了重复和单次触发信号的定时器

qtimer m_timer;

m_timer.strat(msec) ;

//定时器触发信号槽

connect(&m_timer,SIGNAL(timeout()),this,solt(timeout())):

qt中使用多线程

1.新建一个xxx类,公共继承自QObject,将线程要执行的内容 写在XXX类的某些槽函数中

2.创建一个Qthread对象t,调用start方法;

3.将xxx类的对象x.moveToThread(t);

4.使用信号槽机制触发XXX类的槽函数

举报

相关推荐

0 条评论