Qt 怎么判断串口读取完

huangwenchuan 2013-11-11 04:03:29
我用串口接收数据,每次缓存58个字节读取一次,
read0: 32 bytes
read0: 32 bytes
read0: 58 bytes
read0: 0 bytes
read0: 32 bytes
read0: 32 bytes
read0: 58 bytes
read0: 0 bytes
read0: 32 bytes
read0: 32 bytes
read0: 58 bytes
read0: 0 bytes
read0: 32 bytes
read0: 32 bytes
read0: 58 bytes
read0: 0 bytes

每次接收完数据后会读取一个0 bytes,数据发送是连续的,我想问这样子怎么判断数据已经读取完毕,
...全文
643 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangwenchuan 2013-11-11
  • 打赏
  • 举报
回复
一组数据都是一样的字符串组成,尾数一样
healer_kx 2013-11-11
  • 打赏
  • 举报
回复
串口一般是用字符串的结尾的特殊字串来标示的,你这么弄不好。
RabinSong 2013-11-11
  • 打赏
  • 举报
回复
1.如果知道包长的话,根据包长度来确认数据接收完 2.另一种方法,给每包加上包头和包尾,根据包头包尾确认包接收完 这种方式最好,加一个超时机制,以防数据只收到一部分通信中断,收包不全的情况,应通过超时机制将这些包丢弃或做特殊处理

16,225

社区成员

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

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