当前位置:   article > 正文

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

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();
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
运行结果

在这里插入图片描述

三、在线协助:

如需安装运行环境或远程调试,见文章底部个人 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/694289
推荐阅读
相关标签
  

闽ICP备14008679号