添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
本帖最后由 1010106127ycgxy 于 2017-9-15 17:47 编辑
void MainWindow :: SendFrame ( char * n , bool m )   //发送函数
void MainWindow :: slotReceiveData ()   //串口接收函数
uchar res ;
while ( p_serial_port -> read (( char *)& res , 1 )> 0 )
switch ( frame_data [ 1 ])
case 1 :
send_frame = Y ;
break ;
case 2 :
SendFrame ( n , m );
while ( send_frame != Y )
//程序死在这里,出不来了
QApplication :: processEvents (); //循环等待
break;
在串口接收函数slotReceiveData(),使用QApplication::processEvents(); 上位机和下位机进行通信,case2上位机发送数据给下位机(SendFrame(n,m)),下位机应答case1返回,从而确认数据已经发出;但是像上面这样使用QApplication::processEvents(),是不是造成递归调用?现在程序死在while()循环中,请教大家:我的代码有问题吗?有什么办法解决吗,谢谢!