当前位置: 首页 > news >正文

女装网站欣赏网站建设公司的服务

女装网站欣赏,网站建设公司的服务,公司logo和商标一样吗,企业 网站规划与网页设计word如何在linux下用QT写一个简单的串口调试助手QT5串口类在QT5以前#xff0c;编写串口一般使用的是qextserialport类#xff0c;但在QT5之后有了QT自带的串口类SerialPort(串口基础类)和SerialPortInfo(串口信息类)使用方法pro中添加QT serialport工程中包含相应的头文件#incl…如何在linux下用QT写一个简单的串口调试助手QT5串口类在QT5以前编写串口一般使用的是qextserialport类但在QT5之后有了QT自带的串口类SerialPort(串口基础类)和SerialPortInfo(串口信息类)使用方法pro中添加QT serialport工程中包含相应的头文件#include #include linux下查询串口名的方法ctrlalta打开终端输入dmesg | grep ttyS*查询串口名一般为ttyUSB0如图 可以看到串口名为ttyUSB0为ch340的驱动linux的串口权限问题我在刚开始写这个程序的时候总是无法打开串口尝试了qextserialport类和SerialPort类都无法成功后来想起来再用cutecom来调试串口的时候想到需要用管理员权限打开cutecom才可以打开串口可是我又不知道怎么给QT管理员权限因此我让普通用户也能使用串口增加udev规则来实现sudo vim /etc/udev/rules.d/70-ttyusb.rules增加如下内容KERNELttyUSB[0-9]*,MODE0666保存并退出重新插入USB转串口就可以打开串口了此方法参考的如下链接https://blog..net/touch_dream/article/details/52873651以下给出部分代码mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include #include #include namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{Q_OBJECTpublic:explicit MainWindow(QWidget *parent 0);~MainWindow();private slots:void on_clearButton_clicked();//清除数据void on_sendButton_clicked();//发送数据void on_openButton_clicked();//打开串口void Read_Data();//读取串口数据private:Ui::MainWindow *ui;QSerialPort *serial;//串口对象};#endif // MAINWINDOW_H下面是mainwindow.cpp#include mainwindow.h#include ui_mainwindow.hMainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui-setupUi(this);//查找可用的串口foreach(const QSerialPortInfo info, QSerialPortInfo::availablePorts()){QSerialPort serial;serial.setPort(info);if(serial.open(QIODevice::ReadWrite)){ui-PortBox-addItem(serial.portName());serial.close();}}//关闭发送按钮的使能ui-sendButton-setEnabled(false);}MainWindow::~MainWindow(){delete ui;}//清空接受窗口void MainWindow::on_clearButton_clicked(){ui-textEdit-clear();}//发送数据void MainWindow::on_sendButton_clicked(){serial-write(ui-textEdit_2-toPlainText().toLatin1());}void MainWindow::readMyCom() //读取串口数据并显示出来{QByteArray temp myCom-readAll(); //读取串口缓冲区的所有数据给临时变量tempui-textEdit-insertPlainText(temp); //将串口的数据显示在窗口的文本浏览器中}//读取接收到的数据void MainWindow::Read_Data(){qDebug() tr(youshuju);QByteArray buf;buf serial-readAll();if(!buf.isEmpty()){QString str ui-textEdit-toPlainText();QTextCodec *codec QTextCodec::codecForName(GBK);//指定QString的编码方式QString str_bufcodec-toUnicode(buf);//buf转换成QString类型strstr\nstr_buf;//bufbuf.toHex(); 或者使用这句话将buf转换成十六进制显示//strstr\ntr(buf);ui-textEdit-clear();ui-textEdit-append(str);}buf.clear();}void MainWindow::on_openButton_clicked(){if(ui-openButton-text()tr(打开串口)){serial new QSerialPort;//设置串口名serial-setPortName(/dev/ttyUSB0);//linux下默认的串口名可以进入终端查询//打开串口if(serial-open(QIODevice::ReadWrite)) //如果成功打开串口//设置波特率{qDebug() tr(succeed);// serial-setBaudRate(QSerialPort::Baud9600);// serial-setDataBits(QSerialPort::Data8);// serial-setParity(QSerialPort::NoParity);// serial-setStopBits(QSerialPort::OneStop);//设置数据位数switch(ui-BitNumBox-currentIndex()){case 8: serial-setDataBits(QSerialPort::Data8); break;default: break;}//设置奇偶校验switch(ui-ParityBox-currentIndex()){case 0: serial-setParity(QSerialPort::NoParity); break;default: break;}//设置停止位switch(ui-StopBox-currentIndex()){case 1: serial-setStopBits(QSerialPort::OneStop); break;case 2: serial-setStopBits(QSerialPort::TwoStop); break;default: break;}//设置流控制serial-setFlowControl(QSerialPort::NoFlowControl);//关闭设置菜单使能ui-PortBox-setEnabled(false);ui-BaudBox-setEnabled(false);ui-BitNumBox-setEnabled(false);ui-ParityBox-setEnabled(false);ui-StopBox-setEnabled(false);ui-openButton-setText(tr(关闭串口));ui-sendButton-setEnabled(true);//连接信号槽QObject::connect(serial, QSerialPort::readyRead, this, MainWindow::Read_Data);}else{qDebug() tr(default);}}else{//关闭串口serial-clear();serial-close();serial-deleteLater();//恢复设置使能ui-PortBox-setEnabled(true);ui-BaudBox-setEnabled(true);ui-BitNumBox-setEnabled(true);ui-ParityBox-setEnabled(true);ui-StopBox-setEnabled(true);ui-openButton-setText(tr(打开串口));ui-sendButton-setEnabled(false);}}最终效果打开串口后即可收到串口发送过来的数据
http://www.zqtcl.cn/news/815015/

相关文章:

  • 国科联创网站建设无锡网站建设有限公司
  • 网站开发官网源码石家庄怎样做网站
  • 做网站的开发工具北京公司网站制作电话
  • 试用体验网站3g微网站是什么
  • 响应式网站源代码什么是营销渠道
  • 深圳品牌做网站公司有哪些php的网站数据库如何上传
  • 关于医疗保障局门户网站建设青柠直播免费版
  • 微信网站制作免费平台微商城网站建设公司的价格
  • 古典风格网站模版广州网站建设加q.479185700
  • 建站工具推荐网站关键词在哪里添加
  • 国内简约网站汽车最好网站建设
  • 外文网站建设网站项目计划书模板范文
  • 免费婚庆网站模板深圳市龙华区繁华吗
  • 档案馆建设网站邢台又一地被划定高风险区域
  • 网站怎么赚钱的网站asp源码
  • 明星网站怎么设计新手怎么做网络销售
  • ps做网站72分辨率深鑫辉网站建设
  • 购物网站设计的目的html简单登录页面代码
  • 网站导航栏下载网页自助建站
  • 新手建立网站的步骤建设企业网站个人网银
  • 俄罗斯女孩制作论文网站wordpress和hexo
  • 南宁市网站设计wordpress主题安装教程
  • 网站取消备案怎样做国外电子商务网站
  • 学校建设网站费用申请青岛平台公司
  • 平面设计师个人网站怎样登录韵网网站
  • 怎么用eclipse做网站开发推广平台取名字
  • 深圳建网站服务商广东佛山建网站
  • 网站推广公司卓立海创英文网站建设需求
  • 无锡网站营销公司简介最专业网站建设公司首选
  • 中文网站建设小组ios开发者账号申请