求解释和流程图

2019-07-15 07:15发布

//  通讯中断接收程序   
  void uart_rx(void)  interrupt 4        using 3         
{


           unsigned char i;
        unsigned char flag;
        unsigned char dat;
    if(RI)                         //是否接收中断
    {
      
           RI=0;
       dat=SBUF;
       if(dat==':'&&(i==0)) //接收数据第一帧
       {
            buff=dat;
            flag=1;        //开始接收数据
       }
       else
            if(flag==1)
              {
                      i++;
                      buff[i-1]=dat;
                      if(i>=2)
                  {
                           i=0;
                           flag=0;
                           flag_REC=1 ;
                           switch (buff[0])
                           {
                                 case 'C':
                                 switch (buff[1])
                                 {
                                  case '1': LED_3_S=1;break;
                                  case  '3': LED_3_S=0;break;


                                 }        break;


                                 case 'D':
                                 switch (buff[1])
                                 {
                                  case '1': LED_4_S=1;break;
                                  case  '3': LED_4_S=0;break;


                                 }        break;
                           }
                      }  // 停止接收
              }
         }


}

0条回答

一周热门 更多>