关于QSerialPort漏字符问题

jupipe_guanly 2018-01-10 09:15:24
如果我这么做,请问有没有可能漏字符问题?

void MyClass::openSerial()
{
serial = new QSerialPort("COM1");
serial->setBandrate(QSerialPort::Baud9600);
...
connect(serial, SIGNAL(dataReady()), this, SLOTS(receiveData()));
}

void MyClass::receiveData()
{
QByteArray data = serial->read(1);
switch(data.at(0) & 0xff)
{
// 判断包头、包数据和包尾
}
}
...全文
1635 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
robotRIS 2018-01-20
  • 打赏
  • 举报
回复
这样子读速度快的时候可能后出现延迟现象
Acuity. 2018-01-15
  • 打赏
  • 举报
回复
引用 5 楼 jupipe_guanly 的回复:
@Acuity- 我想你是对的,slot函数不适合做数据处理,即使进行逻辑型处理也不适合,因为可能丢数据。 至于你提到的环形缓冲区和处理线程,我想到了QQueue+生产者/消费者的方法,也许可用。
对的,用qt现成的缓冲区也可以。
jupipe_guanly 2018-01-15
  • 打赏
  • 举报
回复
@Acuity- 我想你是对的,slot函数不适合做数据处理,即使进行逻辑型处理也不适合,因为可能丢数据。 至于你提到的环形缓冲区和处理线程,我想到了QQueue+生产者/消费者的方法,也许可用。
Acuity. 2018-01-15
  • 打赏
  • 举报
回复
1、不要在槽函数处理数据;加环形缓冲区,接收到的数据全部扔进缓冲区; 2、开一个线程,专门用于处理缓冲区的数据,判断、读写、计算。。。等等。
xqhrs232 2018-01-14
  • 打赏
  • 举报
回复
最近也用了下,不大好使,也不知道是不是自己那里没整对!!!
jupipe_guanly 2018-01-14
  • 打赏
  • 举报
回复
@Marcelxx,那怎么知道所有数据都读出来了呢,加定时器吗?
Marcelxx 2018-01-11
  • 打赏
  • 举报
回复
将所有数据读出来,再来判断包头不行么?
课程目标:学习Java语言中字符串相关的知识、字符编码常识和正则表达式的使用,并完成案例前导课程:《Java工程师必学系列课程》前4部课程内容:本课程是《Java工程师必学系列课程》的第5部分,主要讲解Java语言中字符串相关知识、字符编码常识和正则表达式的使用。本课程涉及的主要内容可以分为四部分:一、String、StringBuffer和StringBuilder类基本常识、基本原理和使用技巧二、字符编码常识三、Java语言正则表达式的详细语法和使用技巧四、实战案例课程说明:在开发Java程序的过程中,最常用的类莫过于字符串相关的类。可以毫不夸张的说,任何一个Java程序,都离不开对字符串保存和处理。很多学员对字符串的理解只是处于比较粗浅的阶段。殊不知,如果对字符串处理的不好,会影响到软件的运行效率。本课程专门讲解字符串相关的知识,将从字符串的存储方式、底层的运行方式等各方面深入讲解其中的原理和技巧。此外,对字符串进行更高级的处理,又要用到正则表达式的相关知识。正则表达式广泛应用于各种与字符串处理相关的场合。它是一套独立的语言系统,经过几十年的完善和发展,现在已经非常的强大,并且形成了国际标准。各种高级编程语言,都实现了自己的表达式引擎。本课程详细的讲解了Java语言中正则表达式的语法和使用技巧。掌握了正则表达式,对编程水平的提高有非常大的帮助!同时,本课程在最后一部分,安排了非常精彩的、完整的实战案例,通过实战的形式切实帮助学员提高解决具体问题的能力!预期效果:认真学习完本课程,学员可以掌握字符串处理及正则表达式相关的系统知识,并能提高实际的编码水平。环境配置要求:学习本课程需安装JDK1.8或更高版本的JDK,以便程序能正确运行,建议使用IntelliJ IDEA 2019.1.2或更高版本的开发工具。    因有合作协议约束,《穆哥学堂》只提供PDF版本的课件!

16,235

社区成员

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

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