1、前言
在进行串口通信时,驱动器
或者单片机
往往只能发送或接收16进制
数据,而对于用户而言,16进制
数据显然晦涩难懂,需要将其转换为通俗易懂的10进制
或者可读字符串。QT中因为有相关的函数进行转换,特此总结,以加深印象。
说明:
系统:Windows10 X86
QT版本:6.1.2
驱动板通讯协议:Modbus协议
使用库:<QtSerialPort/QSerialPort>、<QtSerialPort/QSerialPortInfo>
2、串口参数配置
port_num = cui->cbx_port_num->currentText(); // 串口号
Baud=cui->cbx_ubaud->currentText(); // 波特率
Data_bits=cui->cbx_databits->currentText(); // 数据位
DCB = cui->cbx_stopbits->currentIndex(); // 停止位和校验位的index
// 设置参口参数
QSerialPort global_port; // 使用串口类声明串口对象
global_port.setPortName(port_num); // 设置串口号
global_port.setBaudRate(Baud.toInt(), QSerialPort::AllDirections); // 设置波特率
global_port.setFlowControl(QSerialPort::NoFlowControl);
switch (Databits.toInt()) {
//设置数据位
case 5