Qt5串口发送16进制数据,读取串口16进制数据
来源:互联网 发布:网络头像图片 编辑:程序博客网 时间:2024/06/16 02:46
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QString>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->closeMyComBtn->setEnabled(false); //开始“关闭串口”按钮不可用
ui->sendMsgBtn->setEnabled(false); //开始“发送数据”按钮不可用
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_openMyComBtn_clicked()
{
QString portName = ui->portNameComboBox->currentText(); //获取串口名
myCom = new Win_QextSerialPort(portName,QextSerialBase::EventDriven);
//定义串口对象,并传递参数,在构造函数里对其进行初始化
myCom ->open(QIODevice::ReadWrite); //打开串口
if(ui->baudRateComboBox->currentText()==tr("9600")) //根据组合框内容对串口进行设置
myCom->setBaudRate(BAUD9600);
else if(ui->baudRateComboBox->currentText()==tr("115200"))
myCom->setBaudRate(BAUD115200);
//设置波特率
if(ui->dataBitsComboBox->currentText()==tr("8"))
myCom->setDataBits(DATA_8);
else if(ui->dataBitsComboBox->currentText()==tr("7"))
myCom->setDataBits(DATA_7);
//设置数据位
if(ui->parityComboBox->currentText()==QStringLiteral("无"))
myCom->setParity(PAR_NONE);
else if(ui->parityComboBox->currentText()==QStringLiteral("奇"))
myCom->setParity(PAR_ODD);
else if(ui->parityComboBox->currentText()==QStringLiteral("奇"))
myCom->setParity(PAR_EVEN);
//设置奇偶校验
if(ui->stopBitsComboBox->currentText()==tr("1"))
myCom->setStopBits(STOP_1);
else if(ui->stopBitsComboBox->currentText()==tr("2"))
myCom->setStopBits(STOP_2);
//设置停止位
myCom->setFlowControl(FLOW_OFF); //设置数据流控制,我们使用无数据流控制的默认设置
myCom->setTimeout(500); //设置延时
connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));
//信号和槽函数关联,当串口缓冲区有数据时,进行读串口操作
ui->openMyComBtn->setEnabled(false); //打开串口后“打开串口”按钮不可用
ui->closeMyComBtn->setEnabled(true); //打开串口后“关闭串口”按钮可用
ui->sendMsgBtn->setEnabled(true); //打开串口后“发送数据”按钮可用
ui->baudRateComboBox->setEnabled(false); //设置各个组合框不可用
ui->dataBitsComboBox->setEnabled(false);
ui->parityComboBox->setEnabled(false);
ui->stopBitsComboBox->setEnabled(false);
ui->portNameComboBox->setEnabled(false);
}
void MainWindow::on_closeMyComBtn_clicked()
{
myCom->close(); //关闭串口,该函数在win_qextserialport.cpp文件中定义
ui->openMyComBtn->setEnabled(true); //关闭串口后“打开串口”按钮可用
ui->closeMyComBtn->setEnabled(false); //关闭串口后“关闭串口”按钮不可用
ui->sendMsgBtn->setEnabled(false); //关闭串口后“发送数据”按钮不可用
}
void MainWindow::readMyCom() //读串口函数
{
QByteArray temp = myCom->readAll(); //读取串口缓冲区的所有数据给临时变量temp
ui->textBrowser->insertPlainText(temp.toHex()); //将串口的数据显示在窗口的文本浏览器中
}
void MainWindow::on_sendMsgBtn_clicked()//串口发送16进制数据
{
const unsigned char s[5]={0xAB,0xD4,0x1A,0x00,0xBA};//AB D4 1A 00 BA
myCom->write((char*)s,5);
}
- Qt5串口发送16进制数据,读取串口16进制数据
- 串口发送16进制数据
- Qt中串口16进制发送和接收数据
- QT QString字符串转16进制串口发送数据
- 串口通信数据发送--字符发送和16进制发送--发送字节的间隔时间
- VB2005中按照16进制读取串口缓冲区数据
- VB 串口发送,将文本中的字符串转化成16进制数据发送
- stm32的串口发送16进制数据,上位机16进制显示
- QT串口程序已16进制接受和发送数据
- QT串口程序已16进制接受和发送数据
- MFC单文档之串口通讯实现16进制数据的发送和接收
- JAVA-串口或者Socket发送16进制指令数据(硬件通讯)
- 串口调试助手-发送数据,按字符或16进制显示接收数据的C#程序
- Java串口编程:串口数据的发送与监听读取
- Java串口编程:串口数据的发送与监听读取
- 串口发送数据类
- 串口发送数据类
- STM32 串口发送数据
- CentOs 安装主意事项
- POJ 1426 Find The Multiple
- 使用两个队列实现一个栈
- response响应那些事之PrintWriter,OutputStream;write(),print[ln]()
- 题解:POJ 3279 Fliptile (BFS)
- Qt5串口发送16进制数据,读取串口16进制数据
- Vijos P1941猜谜游戏
- 字符串界面对应代码查找
- 贪心(1)——心得
- 检查输入消息是否回文
- 韩顺平 javascript教学视频_学习笔记16_Object类_闭包_成员函数再说明_聪明的猪小练习
- 手势识别
- LibGDX教程——重建Flappy Bird——(8)屏幕切换与播放声音(终结)
- 【Islands and Bridges】题解