Qt之串口接收-无法接收0x11、0x13的问题

发现通过串口调试助手向自己写的qt发送数据时,0x11、0x13(可能还有更多)直接被丢弃。

经过在网上反复搜索,发现这篇文章https://blog.csdn.net/vipchenvip/article/details/80744948上写道“启动/停止流控输出”字样,虽然是关于linux的,但是应该也是流控出了问题,回头看自己写的代码:

//设置流控-默认无流控
void LSerialPort::SerialPortFlowCtlSet(QString strFlowCtl)
{
    QSerialPort::FlowControl FlowCtl=QSerialPort::NoFlowControl;
    if("N"==strFlowCtl ||"n"==strFlowCtl)
    {
        //无流控
        FlowCtl=QSerialPort::NoFlowControl;
    }
    else if("H"==strFlowCtl ||"h"==strFlowCtl)
    {
        //硬件流控
        FlowCtl=QSerialPort::HardwareControl;
    }
    else if("S"==strFlowCtl ||"s"==strFlowCtl)
    {
        //软件流控
        FlowCtl=QSerialPort::SoftwareControl;
    }

   serialport.setFlowControl(QSerialPort::SoftwareControl);
}

好吧,发现问题了,函数功能没起作用,一直是软流控,一般操作都是设置为无流控,怪不得出问题,改成如下就好了,这样就能正常设置无/软/硬流控了:

   serialport.setFlowControl(FlowCtl);

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值