QT串口发送十六进制数据接收串口数据并十六进制显示

QT串口发送十六进制数据接收串口数据并十六进制显示 [喝小酒的网摘]http://blog.const.net.cn/a/4098.htm
代码如下:
    struct PortSettings myComSetting = {BAUD9600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,10};
    //定义一个结构体,用来存放串口各个参数
    myCom = new Win_QextSerialPort(ui.comboBox->currentText(),myComSetting,QextSerialBase::EventDriven);
    //定义串口对象,并传递参数,在构造函数里对其进行初始化

    
    myCom ->open(QIODevice::ReadWrite);
    
    myCom->setBaudRate(BAUD115200);
    myCom->setDataBits(DATA_8);
    myCom->setParity(PAR_NONE);
    myCom->setStopBits(STOP_1);
    myCom->setFlowControl(FLOW_OFF);
    myCom->setTimeout(10);
    
    
    //以可读写方式打开串口
    connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));
    //信号和槽函数关联,当串口缓冲区有数据时,进行读串口操作    

    //发送十六进制数据
    QByteArray ba;
    for (int i=0;i<256;i++)
    {
        ba[i] = i;
    }    
    myCom->write(ba);  


    //接收串口数据以字符和十六进制数据显示
    QByteArray temp = myCom->readAll();
    //读取串口缓冲区的所有数据给临时变量temp
    ui.textBrowser->insertPlainText(temp);
    ui.textEdit_2->insertPlainText(temp.toHex());
    //将串口的数据显示在窗口的文本浏览器中 

你可能感兴趣的:(上位机)