网上找的串口通信类。开发过程中调用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();
}
- 也不知道这样改对不对,反正可以清空缓冲区了。呵呵。
也不知道这样改对不对,反正可以清空缓冲区了。呵呵。