Serial port

发布时间 2023-03-27 14:59:45作者: 梦起白沙

前言

​ 使用qt开发一款简易串口助手。

​ 目标:

	1. 实现正常串口通信。
	2. 能够传输AT指令。(需要注意回车符)

github仓库地址:shadow-wd/Serial-port-assistant: 简易串口助手 (github.com)

还在持续更新.......

开发环境

windows平台:qtcreator 5.9.5

代码

​ 代码量小,注释写在代码中。

QcomboBox

​ 对于下拉选项框来说,有一些选项框需要显示给用户汉字(字符串),但是代码中获取用户选项的时候,不能去匹配汉字。

使用QMap将string和int类型绑定,显示给用户string类型,匹配时通过int类型匹配。

QMap<QString,int> parityvalue;
    parityvalue.insert("NoParity",1);
    parityvalue.insert("EvenParity",2);
    parityvalue.insert("OddParity",3);
    parityvalue.insert("SpaceParity",4);
    parityvalue.insert("MarkParity",5);

    // 不知道为什么这里插入的顺序很混乱
    foreach (const QString &str, parityvalue.keys()) {
        ui->checkbit->addItem(str,parityvalue.value(str));
    }

AT指令回车

​ 在开发过程中,接收数据很容易,但是发送AT指令总是失败,经过排查问题发现时AT指令的回车符没能成功识别。

    // 对发送数据追加回车
    if(ui->enter->isChecked())
    {
        bytes.append("\r\n");
    }
    a= serialPort->write(bytes.data());

​ 因此添加了给数据追加回车的选项框。