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

两学一做网站 新闻合肥网站排名推广

两学一做网站 新闻,合肥网站排名推广,上海低价网站建设,签订网站制作合同注意事项1.编辑工程文件(后缀为 .pro 的文件)在 QT core gui 后添加 serialport。 2.自动获取串口 使用 QSerialPortInfo:::availablePorts()获取当前串口,该函数返回容器类 Qlist,用 Qt 定义的关键字 foreach 遍历容器 Qlist 里的串口信…

1.编辑工程文件(后缀为 .pro 的文件)在 QT += core gui 后添加 serialport。

2.自动获取串口
使用 QSerialPortInfo:::availablePorts()获取当前串口,该函数返回容器类 Qlist,用 Qt 定义的关键字 foreach 遍历容器 Qlist 里的串口信息,并将串口信息放到 QStringList 的类对象 serialNamePort,显示到 ui 的串口组件。
{
{
ui->setupUi(this);
QStringList serialNamePort;
//遍历:availablePorts()返回的串口信息
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()){
serialNamePort << info.portName();
}
ui->serialCb->addItems(serialNamePort);
}
编译后点击串口选择框,会出现已经连接的串口。

3.打开串口功能和属性设置
步骤一:实例化串口类 QSerialPort 对象 serialPort,对串口的操作就是对 serialPort 对象的操作,调用QSerialPort 封装的成员变量(属性)和成员函数(功能)就能控制串口。
class Example : public QMainWindow
{
public:
.......... QSerialPort * serialPort;
.......... };
ui(new Ui::Example)
{
ui->setupUi(this);
......
serialPort = new QSerialPort;
...... }
步骤二:填充波特率,数据位,停止位,校验位等属性。获取 ui 组件传递过来的串口信息,将串口属性填充到 serialPort 对象。

步骤三:打开串口,判断是否打开成功。
/*打开按钮*/
void Example:n_openCb_clicked()
{
QSerialPort::BaudRate bauRate; //波特率
QSerialPort:ataBits dataBits; //数据位
QSerialPort::StopBits stopBits; //停止位
QSerialPort:arity checkBits; //校验位
//设置波特率
if (ui->baudCb->currentText() == "4800" ) { bauRate = QSerialPort::Baud4800; }
else if(ui->baudCb->currentText() == "9600" ) { bauRate = QSerialPort::Baud9600; }
else if(ui->baudCb->currentText() == "115200") { bauRate = QSerialPort::Baud115200;}
//设置数据位
if (ui->dataCb->currentText() == "5") { dataBits = QSerialPort:ata5;}
else if(ui->dataCb->currentText() == "6") { dataBits = QSerialPort:ata6;}
else if(ui->dataCb->currentText() == "7") { dataBits = QSerialPort:ata7;}
else if(ui->dataCb->currentText() == "8") { dataBits = QSerialPort:ata8;}
//设置停止位
if (ui->stopCb->currentText() == "1" ) { stopBits = QSerialPort::OneStop; }
else if(ui->stopCb->currentText() == "1.5" ) { stopBits = QSerialPort::OneAndHalfStop; }
else if(ui->stopCb->currentText() == "2" ) { stopBits = QSerialPort::TwoStop; }
//设置校验位
if(ui->checkCb->currentText() == "none" ) { checkBits = QSerialPort::NoParity; }
//填充串口对象的属性值
serialPort->setPortName(ui->serialCb->currentText());
serialPort->setBaudRate(bauRate);
serialPort->setDataBits(dataBits);
serialPort->setStopBits(stopBits);
serialPort->setParity(checkBits);
//设置好属性后打开串口
if(serialPort->open(QIODevice::ReadWrite) == true){
QMessageBox::information(this,"提示","成功");
}else{
QMessageBox::critical(this,"提示","失败");
}
}
4.收发串口数据功能
读数据:每当数据流从串口到达系统一次,就会传到 Qt 应用程序一次,readyRead 信号就会触 发 一次,所以可以用前面章节讲的信号和槽机制将 readyRead 信号和槽函数绑定,然后就可以在槽函数中读取串口数据。槽函数中使用 readAll()读取数据,使用带换行功能的 appendPlainText()显示到 ui 的接收窗口。
//类中声明槽函数
private slots:
void serialPortReadyRead_Solt(void);
//readyRead 信号和槽函数绑定
connect(serialPort,SIGNAL(readyRead()),this,SLOT(serialPortReadyRead_Solt()));
//读串口
void Example::serialPortReadyRead_Solt(void)
{
QString buf;
buf = QString(serilaPort->readAll());
ui->recvEdit->appendPlainText(buf);
}
写数据:获取 ui 界面填写的信息,ui->sendEdit->text(),使用 QSerialPort 的成员函数 write 将数据写到
串口。
void Widget:n_sendBt_clicked()
{
serilaPort->write(ui->sendEdit->text().toLocal8Bit().data());
}
5.关闭串口功能
使用 QSerialPort 的成员函数 close()关闭串口。
void Widget:n_closeBt_clicked()
{
serilaPort->close();
}
6.清空发送栏数据
调用 ui 组件 lineEdit 的成员函数 clear 即可清空数据。
void Widget:n_clearBt_clicked()
{
ui->recvEdit->clear();
}
编译测试,结果如图:

http://www.lbrq.cn/news/2560123.html

相关文章:

  • 高校档案网站建设的目的是什么意思网络精准营销推广
  • 网络营销如何进行网站推广seo教程免费
  • 漂亮购物网站欣赏怎么优化网站
  • 北京旅游设计网站建设app开发定制
  • 商场网站建设公司seo点击排名软件哪里好
  • 真人做视频网站沈阳高端关键词优化
  • 有哪些是外国人做的网站吗网络营销的方式有哪些
  • 做民宿加盟哪些网站比较好谷歌竞价排名推广公司
  • 怎么给别人做网站百度app下载安装
  • 品牌营销推广策划点击seo软件
  • 免费门户网站模板精准引流推广
  • 成都到西安需要核酸检测吗seo短视频网页入口营销
  • cms的功能有哪些最新seo网站优化教程
  • 网站推广软件免费下载安装汕头最好的seo外包
  • 北京网站建设及优化智能建站网站模板
  • 检查网站有没有做301搜索百度一下
  • 上海频道做网站怎么样google chrome 网络浏览器
  • 凡科做的网站手机版seo变现培训
  • 建设网站的目的及功能青岛网络推广公司
  • 企业网站建设毕业论文总结百度商务合作电话
  • 网站建设邮汕头seo优化
  • wordpress实现表格填写功能天津外贸seo推广
  • 东明网站建设找片子有什么好的关键词推荐
  • 有什么公司是建设网站的吗嘉兴优化公司
  • 做产品网站淘宝百度seo工具
  • 婚纱摄影网站开发如何在百度上推广自己
  • 网站如何做seo规划廊坊网络推广公司
  • 目前我国政府网站建设情况漯河网站seo
  • 自己电脑做服务器上传网站 需要备案吗千锋教育培训多少钱
  • 网站开发的基本流程网络营销就是
  • Cesium性能优化
  • 基于OpenCV的cv2.solvePnP方法实现头部姿态估计
  • 相亲小程序个人资料管理系统模块搭建
  • 设计模式之代理模式
  • MVS相机+YOLO检测方法
  • 基于N32G45x+RTT驱动框架的定时器外部计数