首页 » 技术SOS » 通信技术 » 通信基础 » 串口通讯

串口通讯

菜鸟
2019-06-17 22:54:18

需要从串口接收两个字节,收到后置标志位,程序如下


void comm0_rx(void) interrupt 4   

{

  m=0;

  while( m<2) 

     {

    if(RI0)                    

         {

  RI0=0;                

          recdata[m]=SBUF0;

 SBUF0=recdata[m];

 while(!TI0);             

          TI0=0;   

          m++;               

 }

     }

            flag0=1;

    flag1=1;

            ES0=0;

}


程序运行后,接收及发送都没问题,但就是最后置标志位语句不是每次都能执行,偶尔接收一次就能执行,大多数要接收好几次才能置位(次数不定)。置位语句放在接收与发送之间也没用。有没有遇到过这种问题的?


关键词: 串口, 通讯  
工程师
2019-06-24 16:43:57
1楼

没看懂。。。“最后置标志位语句”是哪个语句?