Qt串口通信无法发送数据

Minndmki 2022-02-28 15:35:04
用的是QSerialPort,在进行串口通信的时候可以打开和关闭串口,但是发数据发不出去,硬件用的是CC25530,串口通信的灯没有亮说明没有发数据。
用SSCOM可以正常通信,自己写的qt就不太行,是什么原因呢?

代码段如下

//led指令控制函数
/*/第一颗灯
void SerialLedCtr::on_btn_Led1_clicked()
{
    QString strButFlag = ((QPushButton*)sender()) -> text();
    //串口写函数
//    QString strData = "R0#";


    if(strButFlag == "开")
    {
        //qDebug()<<strButFlag;
        ui -> btn_Led1 -> setText("关");
        ui->lbl_Led1->setPixmap(QPixmap(":/new/img/redled.png"));
        //判断串口数据
        if(qSerPort.write("R1#") == -1){ //这里就发不出去了
            ui->pT_MesageDis->setStyleSheet("color:red");
            ui->pT_MesageDis->appendPlainText("发送失败,串口未发现!!!");
        }
        else {
            ui->pT_MesageDis->setStyleSheet("color:green");
            ui->pT_MesageDis->appendPlainText("发送: R1#");
            qSerPort.write("R1#");
            //qDebug() << arrayData ;
        }
    }
    else
    {
        //qDebug()<<strButFlag;
        ui -> btn_Led1 -> setText("开");
        ui->lbl_Led1->setPixmap(QPixmap(":/new/img/blueled.png"));
        //判断串口数据
        if(qSerPort.write("R0#") == -1){
            ui->pT_MesageDis->setStyleSheet("color:red");
            ui->pT_MesageDis->appendPlainText("发送失败,串口未发现!!!");
        }
        else {
            ui->pT_MesageDis->setStyleSheet("color:green");
            ui->pT_MesageDis->appendPlainText("发送: R0#");
            qSerPort.write("R0#");
            //qDebug() << arrayData ;
        }
    }

}

是直接用的别的大佬的源代码,但我无法进行串口的数据发送。

 

 

 

 

...全文
1771 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-西门吹雪 2022-03-04
  • 打赏
  • 举报
回复

首先你得确定串口通信是正常的,通过sscom发送后,你的下位机是否正确接收了,进而保证参数正确
其次需要确认你的串口初始化是否正确,各项参数是否正确设置了,
ps:去设备那里看一下你的串口号,或者串口被占用,或者之前有过直接打开串口直接拔掉又插上的操作

Minndmki 2022-02-28
  • 打赏
  • 举报
回复

解决了xdm,串口打开的时候波特率设置了两遍……应该先设置再打开。
事实证明小白不要拿着别人的代码就运行,出问题找的方向都不对,自己老老实实看代码吧……

Minndmki 2022-02-28
  • 打赏
  • 举报
回复

刚才才注意到按按钮的时候qt会输出QIODevice::write: device not open,这个如何解决。。小白一枚

16,792

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧