我写了一个读串口数据的thread,在主界面的虚构函数中定义了一个定时器,定时器的timeout()信号与一个启动线程的槽链接,每10ms运行一次线程。线程的run函数中,首先停止定时器,然后读取数据,读完后再重新开启定时器。
可是我发现主界面只有在串口有数据读到的时候才相应界面上的操作,比如鼠标点击。如果一直没有数据可读,那么界面就会一直僵死在那。
是线程run函数中将定时器停止的原因导致的吗?我那样做是为了保证能够将数据读取完整。因为我不知道linux下,串口接收缓存多大。
请大家帮帮忙~那个界面僵死的问题怎么解决?还有有谁知道linux下串口接收缓存的大小怎么查看或者怎么设置?