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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/25745.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#面:阐述对DDD的理解

C#是一种面向对象的编程语言&#xff0c;而领域驱动设计&#xff08;Domain-Driven Design&#xff0c;简称DDD&#xff09;是一种软件开发方法论&#xff0c;它强调将业务领域的知识和逻辑直接融入到软件设计和开发中。 在C#中实施DDD的关键是将业务领域划分为不同的领域模型…

PHP“well”运动健身APP-计算机毕业设计源码87702

【摘要】 随着互联网的趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己的信息推广出去&#xff0c;最好方式就是建立自己的平台信息&#xff0c;并对其进行管理&#xff0c;随着现在智能手机的普及&#xff0c;人们对于智能手机里面的应用“well”运动健身app也在不断…

vue中插槽的本质

定义slotCompoent.vue 组件 <template><slot></slot><slot nameslot1></slot><slot name"slot2" msg"hello"></slot> </template>使用组件&#xff1a; <slotComponent><p>默认的</p>…

gcc:coverage:gcda文件没有生成的另一个例子:dlopen

根据gcc的文档&#xff0c; 如果是使用dlopen的方式来打开一个函数&#xff0c;需要记录coverage的数据&#xff0c;就需要使用下面这个链接。 If an executable loads a dynamic shared object via dlopen functionality, ‘-Wl,–dynamic-list-data’ is needed to dump all …

【系统架构】架构演进

系列文章目录 第一章 系统架构的演进 本篇文章目录 系列文章目录前言一、原始分布式二、单体系统时代三、SOA时代烟囱架构微内核架构事件驱动架构 四、微服务架构五、后微服务时代六、无服务时代总结 前言 最近笔者一直在学习系统架构的相关知识&#xff0c;对系统架构的演进…

6.7 作业

搭建一个货币的场景&#xff0c;创建一个名为 RMB 的类&#xff0c;该类具有整型私有成员变量 yuan&#xff08;元&#xff09;、jiao&#xff08;角&#xff09;和 fen&#xff08;分&#xff09;&#xff0c;并且具有以下功能&#xff1a; (1)重载算术运算符 和 -&#xff…

Day34

Day34 三大范式及反范式设计 第一范式&#xff1a; 存在问题&#xff1a; 1.存在非常严重的数据冗余(重复) 2.数据添加存在问题 3.数据删除存在问题 第二范式&#xff1a; 解决了一部分数据冗余&#xff0c;但仍然存在较严重的数据冗余问题&#xff0c;数据添加和删除问题依然…

Java学习-JDBC(五)

JDBC优化及工具类封装 现有问题 ①创建连接池②获取连接③连接回收 ThreadLocal 为解决多线程程序的并发问题提供了一种新的思路&#xff0c;使用这个工具类可以很简洁地编写出优美的多线程程序&#xff0c;通常用在多线程中管理共享数据库连接、Session等ThreadLocal用于保…

leetcode hot100 补充

除了 hot100 外&#xff0c;还有一些常见的题目&#xff0c;也是值得我们复习的。我们新开一个 补充 栏目&#xff0c;进行梳理。 hot 100补充 回溯法 回溯法 medium 组合之和 II dfs

6.全开源源码---小红书卡片-跳转微信-自动回复跳转卡片-商品卡片-发私信-发群聊-安全导流不封号-企业号白号都可以用

现在用我们的方法&#xff0c;可以规避违规风险&#xff0c;又可以丝滑引流&#xff0c;因为会以笔记的形式发给客户&#xff0c;点击之后直接跳微信&#xff0c;我们来看看演示效果吧&#xff08;没有风险提示&#xff09; 无论是引流还是销售产品都会事半功倍。

关于如何设置 TMOD (定时/计数 高低 共 8 位 寄存器)

TMOD 寄存器简介 TMOD 是 8051 单片机的定时器模式寄存器。它是一个 8 位寄存器&#xff0c;用于配置定时器/计数器的工作模式。TMOD 的每一位有特定的含义。 TMOD 的结构如下&#xff1a; GATE | C/T | M1 | M0 | GATE | C/T | M1 | M07 | 6 | 5 | 4 | 3 | 2 | …

python使用聚类分析来分析数据

""" 聚类分析 """ import os import pandas as pd #导入处理二维表格的库 import numpy as np #导入数值计算的库 from sklearn.preprocessing import StandardScaler #导入数据标准化模块 import matplotlib.pyplot as plt #导入画…

搞懂银行的各类号码 — Account Number, Routing Number 和 Swift Code

1. 前言2. 名词解释 2.1. Debit Card Number 储蓄卡卡号2.2. Account Number 账户号码2.3. Routing Number 路由号码2.4. SWIFT Code SWIFT 号码3. 查找信息 3.1. 支票3.2. 网上银行3.3. 手机银行4. SWFIT Code 4.1. 看懂 SWIFT Code4.2. 询问银行4.3. Google 大神4.4. 部分常用…

MySQL: 表的增删改查(基础)

文章目录 1. 注释2. 新增(Create)3. 查询(Retrieve)3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 别名3.5 去重: distinct3.6 排序: order by3.7条件查询3.8 分页查询 4. 修改 (update)5. 删除(delete)6. 内容重点总结 1. 注释 注释&#xff1a;在SQL中可以使用“–空格…

Day 25 二叉树的终止

450.删除二叉搜索树中的节点 不理解用tmp保存root节点&#xff0c;然后删除&#xff1f;rootroot->right不会覆盖吗&#xff1f; 需要考虑要删除的节点是不是叶子节点&#xff0c;有无左右孩子 有左右孩子的话&#xff0c;需要将左孩子节点移动到右孩子节点的左面节点的左…

了解常用智能指针

智能指针 1、概念 C中引入智能指针的主要目的是为了解决内存管理的问题&#xff0c;传统的指针&#xff08;裸指针&#xff09;在使用时需要手动分配和释放内存&#xff0c;容易出现内存泄漏和悬挂指针等问题。智能指针通过封装裸指针&#xff0c;并提供自动内存管理功能&…

一、Socket创建和连接

C网络编程&#xff08;asio&#xff09; 文章目录 C网络编程&#xff08;asio&#xff09;1、Asio概述2、网络编程基本流程2、创建socket3、创建监听socket4、绑定accpet监听套接字5、连接指定的端点6、服务器接收连接 点击查看代码 1、Asio概述 ​ Asio起源于Boost库&#xf…

shell编程(三)—— 运算符

和其他编程语言一样&#xff0c;bash也有多种类型的运算符&#xff0c;本篇对bash的相关运算符做简单介绍。 一、运算符 1.1 算术运算符 常见的算术运算符&#xff0c;如加&#xff08;&#xff09;、减&#xff08;-&#xff09;、乘&#xff08;*&#xff09;、除&#xf…

OpenGauss数据库-4.表的创建、修改与删除

第1关&#xff1a;创建表 gsql -d postgres -U gaussdb -W passwd123123 create database testdb; \c testdb; passwd123123 create table test_table (test_id integer not null,test_info char(36)); 第2关&#xff1a;修改表 gsql -d testsb -U gaussdb -W passwd123123 …

YOLOv5的predict.py逐句讲解(学习笔记)

因为太多依赖python的各种库,导致自己对YOLO的开发能力有所下降,最近准备重新整理一下YOLO系列的代码以供以后自己查阅。 YOLOv5-v7.0将分类脱离出来了。predict.py为分类的推理代码。predict.py主要有run(),parse_opt(),main()三个函数构成。 一、导入模块 这部分导入pyth…