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

VS2022+Qt雕刻机单片机马达串口上位机控制系统

程序示例精选
VS2022+Qt雕刻机单片机马达串口上位机控制系统
如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!

前言

这篇博客针对《VS2022+Qt雕刻机单片机马达串口上位机控制系统》编写代码,代码整洁,规则,易读。 学习与应用推荐首选。


运行结果

在这里插入图片描述


文章目录

一、所需工具软件
二、使用步骤
       1. 主要代码
       2. 运行结果
三、在线协助

一、所需工具软件

       1. Python
       2. Pycharm

二、使用步骤

代码如下(示例):

***********************************************************
void MainWindow::on_openBtn_clicked()
{if (ui.pushButton->text() == QStringLiteral("打开串口")){std::cout << "openBtn " << std::endl;myPort = new QSerialPort(this);myPort->setPortName(portname);std::cout << "test_ " << std::endl;if (myPort->open(QIODevice::ReadWrite)){myPort->setBaudRate(baudRate);myPort->setDataBits(QSerialPort::DataBits(databit));myPort->setParity(QSerialPort::Parity(parity));myPort->setStopBits(QSerialPort::StopBits(stopbit));statusBar()->showMessage(QStringLiteral("串口已经打开"));//状态栏显示的内容//connect(myPort, SIGNAL(readyRead()), this, SLOT(readCom()));ui.pushButton->setText((QStringLiteral("关闭串口")));}else{//QMessageBox::information(this,tr("提示框"),tr("串口无法打开"));statusBar()->showMessage(QStringLiteral("串口无法打开"));//状态栏显示的内容}}else{myPort->close();                            statusBar()->showMessage(QStringLiteral("串口已经关闭"));  //状态栏显示的内容ui.pushButton->setText(QStringLiteral("打开串口"));}
}
void MainWindow::readCom()
{qDebug() << " ";std::cout << "readCom运行" << std::endl;QByteArray byte_data = myPort->readAll();    //读取串口数据qDebug() << QStringLiteral("文本接收byte_data: ") << byte_data;//转为QString//QString strDisplay=QString::fromUtf8(byte_data);; QString strDisplay = QString::fromLocal8Bit(byte_data);;qDebug() << QStringLiteral("文本接收strDisplay: ") << strDisplay;//得到接收radioButton控件选项QString getRadioButtonText = QString("%1").arg(ui.radioButton->isChecked());QString getRadioButtonHEX = QString("%1").arg(ui.radioButton_2->isChecked());std::cout << "getRadioButtonText: " << getRadioButtonText.toStdString() << std::endl;std::cout << "getRadioButtonHEX: " << getRadioButtonHEX.toStdString() << std::endl;//将读取到的数据进行转化,是否是按16进制显示if (getRadioButtonHEX == QStringLiteral("1")){std::cout << "HEX接收 "<< std::endl;for (int i = 0; i < str.length(); i += 2){QString st = str.mid(i, 2);//从i这个位置开始,返回2个字符串strDisplay += st;strDisplay += " ";}qDebug() << "strDisplay" << strDisplay;ui.textEdit->insertPlainText(strDisplay);}else if (getRadioButtonText == QStringLiteral("1")){std::cout << "文本接收" << std::endl;ui.textEdit->insertPlainText(byte_data);}byte_data.clear();}//清空接收框
void MainWindow::on_pushButton_2_clicked()
{ui.textEdit->clear();
}
运行结果

在这里插入图片描述

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助!

1)远程安装运行环境,代码调试
2)Visual Studio, Qt, C++, Python编程语言入门指导
3)界面美化
4)软件制作
5)云服务器申请
6)网站制作

当前文章连接:https://blog.csdn.net/alicema1111/article/details/132666851
个人博客主页:https://blog.csdn.net/alicema1111?type=blog
博主所有文章点这里:https://blog.csdn.net/alicema1111?type=blog

博主推荐:
Python人脸识别考勤打卡系统:
https://blog.csdn.net/alicema1111/article/details/133434445
Python果树水果识别:https://blog.csdn.net/alicema1111/article/details/130862842
Python+Yolov8+Deepsort入口人流量统计:https://blog.csdn.net/alicema1111/article/details/130454430
Python+Qt人脸识别门禁管理系统:https://blog.csdn.net/alicema1111/article/details/130353433
Python+Qt指纹录入识别考勤系统:https://blog.csdn.net/alicema1111/article/details/129338432
Python Yolov5火焰烟雾识别源码分享:https://blog.csdn.net/alicema1111/article/details/128420453
Python+Yolov8路面桥梁墙体裂缝识别:https://blog.csdn.net/alicema1111/article/details/133434445
Python+Yolov5道路障碍物识别:https://blog.csdn.net/alicema1111/article/details/129589741
Python+Yolov5跌倒检测 摔倒检测 人物目标行为 人体特征识别:https://blog.csdn.net/alicema1111/article/details/129272048

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++三大特性之继承,详细介绍
  • Yolov9比其他yolo版本的改进
  • 设计与实现完整的余额充值系统
  • MySQL之多表查询—列子查询
  • python后端结合uniapp与uview组件tabs,实现自定义导航按钮与小标签颜色控制
  • 谷歌google play上架
  • 淘宝扭蛋机小程序,扭蛋市场创新模式
  • 【recast-navigation-js】使用three.js辅助绘制Agent寻路路径
  • php质量工具系列之PHPCPD
  • 论文中eps格式图片制作
  • 如何利用langchian调用百度大模型API
  • c++进阶——继承
  • 数据库管理工具——DBeaver简介
  • 51单片机独立按键控制LED灯,按键按一次亮,再按一次灭
  • Jira的原理及应用详解(五)
  • 深入了解以太坊
  • 【Leetcode】101. 对称二叉树
  • @jsonView过滤属性
  • [deviceone开发]-do_Webview的基本示例
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 2018一半小结一波
  • export和import的用法总结
  • Gradle 5.0 正式版发布
  • HomeBrew常规使用教程
  • JavaScript新鲜事·第5期
  • Laravel 实践之路: 数据库迁移与数据填充
  • mysql 5.6 原生Online DDL解析
  • nfs客户端进程变D,延伸linux的lock
  • PHP 的 SAPI 是个什么东西
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Spring框架之我见(三)——IOC、AOP
  • SQLServer插入数据
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 浮现式设计
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 我这样减少了26.5M Java内存!
  • 想写好前端,先练好内功
  • Android开发者必备:推荐一款助力开发的开源APP
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​数据链路层——流量控制可靠传输机制 ​
  • ​虚拟化系列介绍(十)
  • (1)无线电失控保护(二)
  • (2)(2.10) LTM telemetry
  • (3)nginx 配置(nginx.conf)
  • (9)目标检测_SSD的原理
  • (rabbitmq的高级特性)消息可靠性
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三)Honghu Cloud云架构一定时调度平台
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (算法)Travel Information Center
  • (转) Android中ViewStub组件使用
  • (转)VC++中ondraw在什么时候调用的