VS2015+Qt5.7写的串口通信助手程序如何做到波特率在2784600左右时仍能流畅接收数据呢?

       毕业项目上要用到串口通信,自己写一个串口通信助手,完成自己的实验需要,但是实验对传输速率有比较高的要求,大概要在250KB/s(别问我怎么不用usb,一开始的需求就是用串口,后来硬件软件都做的差不多了,但是就是波特率提高之后程序就崩溃),想请问一下大神Qt串口通信在实现波特率921600甚至更高(比如波特率达到200 0000以上)的时候,如何做到写的软件在这么高的波特率下接收数据不卡死啊,硬件上有cp2102 uart发送数据的速度在200kb/s左右,但是到上位机接收数据的时候,波特率太高,软件程序直接就崩溃了,如何才能做到流畅接收数据呢?

我用的是也是第三方类库;

 打开串口后采用事件机制:

myCom = new Win_QextSerialPort(portName, ttySetting, QextSerialBase::EventDriven);
myCom->open(QIODevice::ReadWrite);

接收数据的核心代码就两句话:

QByteArray str = myCom->readAll();

ui.textEdit->textCursor().insertText(str);
ui.textEdit->moveCursor(QTextCursor::End,QTextCursor::KeepAnchor);

我是查了资料看都是这么写的,但是都是用在较低的比特率时,不太清楚在我这种高波特率时是否需要调整代码,一头雾水;

或者我都不太确定Qt写的串口通信助手是否可以达到这么高的波特率?最终的软件除了要高速准确接收数据,还要对数据处理之后用qwt插件实时显示曲线,目前第一步就卡住了,一直难受自己可能毕业不了了。。。

如果有大神之前做过或者稍微懂一些的,还请略微指点一下,帮助我顺利毕业。

如果可以帮我出出思路或者能提供有效帮助的可以直接联系我qq837521909,有偿亦可的。谢谢大家啦

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值