开发环境:Ubuntu10.04 + Qt4.6.2
网上找的串口通信类。开发过程中调用flush函数不起作用,缓冲区还是不能被清空,导致接收很多以前的数据。
修改如下:
void Posix_QextserialPort::flush()
{
LOCK_MUTEX();
if(isOpen())
{
//Posix_File->flush(); //修改前
tcflush(Posix_File->handle(), TCIFLUSH);//修改后
}
UNLOCK_MUTEX();
}
也不知道这样改对不对,反正可以清空缓冲区了。呵呵。