一个有关问题,就是小弟我在qt中使用串口编程时,为什么接收数据后的数据还在缓冲区中

请教各位一个问题,就是我在qt中使用串口编程时,为什么接收数据后的数据还在缓冲区中
如题:
请教各位一个问题,就是我在qt中使用串口编程时,为什么接收数据后的数据还在缓冲区中
我是开了以个线程直接做接收数据的工作,在这个串口类中我定义个一个buf用来接收数据,
现在遇到的问题就是
比如:
我第一次发送 00 01 02 03 04 05
第二次发送 11 22 33
那么我将数据读出来是 11 22 33 03 04 05
个人觉得是读缓冲区的数据没有清掉,
在网上搜了一下,说用
在打开串口是时候我已经使用tcflush(serial_fd,TCIFLUSH)
我是在设置串口中使用的,但是没有作用啊
在线程中我清缓冲buf,就接收不到数据了

各位能给点指导到,
谢谢先



------解决方案--------------------
探讨

引用:
楼主,你不是已经找到原因了么?那就在每次读取完后手动的清空缓冲区啊.....


回楼上的
我在线程里面只接收,然后将数据emit 出去
我在哪里能清空啊
收到数据就全是0

------解决方案--------------------
先确认是线程中数据是否正确,还是信号传出的数据有问题。
最简单的方法就是短路串口2,3脚
到天嵌科技的论坛上下一个串口的源码,地址:http://bbs.embedsky.net/viewthread.php?tid=9731&highlight=%BA%C5%CD%E2