环境:
Linux下QT2。
部分代码:
……………………
QFile COM1( "/dev/ttyS0" ); //把串口1当作文件
QTextStream readFile( &COM1 ); //通过QTextStream进行读取
QString line = readFlie.readLine(); //一次读取一行数据
……………………
……数据处理代码……
……………………
……
其他事情处理代码……
……………………
问题:
如果
串口有数据接收到,运行正常,可以执行“数据处理代码”,“其他事情处理代码”;
但是,如果串口一直
没有数据接收到,那么程序会一直停留在 “ QString line = readFlie.readLine(); //一次读取一行数据 ” ,这样导致其他事情也处理不了。
我试过加一行判断:
if( !((readFlie.readLine()).isEmpty()) )
{
QString line = readFlie.readLine(); //一次读取一行数据
……………………
……数据处理代码……
…………
}
……………………
……其他事情处理代码……
……………………
这样修改之后,依然不见效果。
这个问题如何处理?如何才能够对是否从串口读到数据进行判断?
[ 此帖被帅坤在2010-06-26 11:00重新编辑 ]