求助!Qt串口类读取百万字节数据的问题,跪求大神帮助

weixin_38528130 2018-03-20 09:30:08
下位机给USB口发送了1048576个字节的数据,请问我该怎么把它读取并存到一个数据缓存区?由于串口类read()函数的每次读取的数据量是有限的,帮助里说是maxSize,但是我也没找到这个maxSize具体是多大,测试了一下大概3万往后就读数就是空了,请问这种情况下该怎么办?
...全文
2092 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Acuity. 2018-04-03
  • 打赏
  • 举报
回复
增加环形缓冲区(FIFO),一个线程负责接收数据并塞入缓存,另一线程负责从缓存读出数据并处理。
_LinGM 2018-04-03
  • 打赏
  • 举报
回复
https://blog.csdn.net/kaychangeek/article/details/78734114
一小猿 2018-03-23
  • 打赏
  • 举报
回复
上位机和下位机之间的通信应该定义一个交互协议,包括数据格式和交互顺序。通常做法是上位机先读取固定长度的数据报头,解析出数据体的长度,再循环读取后续数据体的内容。
Little柯南 2018-03-21
  • 打赏
  • 举报
回复
我的建议是,发数据,你可以分几次发送,接收到之后,做合并处理。USB一般来说,你用的都是第三方库
萧洛 2018-03-21
  • 打赏
  • 举报
回复
maxSize是你自己定义一次最大读多少,read()返回值是实际读取数据大小。 你可以用readAll(),每次读取全部,可以保存在QByteArray中。

16,216

社区成员

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

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