天天看点

qt 串口设备历遍

Qt的官方例程真的非常好,基本上想要的基础功能都有。参照了下qt例程中的camera。其中获取摄像头设备信息的方法,获取串口的信息。Qt5.9.5

QString com_name;
    for (const QSerialPortInfo &serialinfo : availablePorts) 
    {
        i++;
        com_name=serialinfo.portName();

        QAction *serialPortsAction = new QAction(com_name,serialPortsGroup);
        serialPortsAction->setCheckable(true);
        serialPortsAction->setData(QVariant::fromValue(serialinfo));
        ui->menuConnect->addAction(serialPortsAction);//可以改成其他ui元素

    }
           

至于串口的打开和数据的发送和接受,在例程中搜索serial就可以看到相应的几个demo是怎么写的。

附:最近遇到的蛋疼问题

把char转为int类型时候,因为char是有符号的,其最高位决定了char型变量的正负,所以在转换成为int类型时候,也会把符号给带过去。例如

char a=;
    int b=a;
           

此时b=0xFFFFFF86而不是0x00000086!!!,所以在类型转换的时候要非常小心。

继续阅读