網上找的串口通信類。開發過程中調用flush函數不起作用,緩衝區還是不能被清空,導致接收很多以前的數據。
修改如下:
- void Posix_QextserialPort::flush()
- {
- LOCK_MUTEX();
- if(isOpen())
- {
- //Posix_File->flush(); //修改前
- tcflush(Posix_File->handle(), TCIFLUSH);//修改後
- }
- UNLOCK_MUTEX();
- }
void Posix_QextserialPort::flush()
{
LOCK_MUTEX();
if(isOpen())
{
//Posix_File->flush(); //修改前
tcflush(Posix_File->handle(), TCIFLUSH);//修改後
}
UNLOCK_MUTEX();
}
- 也不知道這樣改對不對,反正可以清空緩衝區了。呵呵。
也不知道這樣改對不對,反正可以清空緩衝區了。呵呵。