当前位置:编程学习 > C#/ASP.NET >>

串口连续接收多个数据


#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
  
  while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?
         
         TXBUF0 = RXBUF0;                   // RXBUF0 to TXBUF0
         DispNChar(1,0,6,tishi);            //最开始在液晶上显示提示信息
          
         if(U0RXBUF!=0xff)
         {
            RX[num]=U0RXBUF;
            num++;
         }
         else
         {
            num=0;
         }
         if(RX[num]=='O')
         {
             DispNChar(1,0,6,tishi);            //最开始在液晶上显示提示信息
             Disp1Char(8,0,'O'); 
            
         }
         
          if(RX[num]=='A')                  //如果接收到字符A,0x41为A的十六进制表示形式
          {
                            
            LcdWriteCommand(0x01, 1);     //显示清屏
            DispNChar(1,0,6,tishi);            //最开始在液晶上显示提示信息
            Disp1Char(8,0,'A');               //在1602上显示字符C
           
          }
         
        if(RX[num]=='B')                       //如果收到字符B
          {
             
             LcdWriteCommand(0x01, 1);     //显示清屏 
              DispNChar(1,0,6,tishi);            //最开始在液晶上显示提示信息
              Disp1Char(8,0,'B');               //在1602中显示字符B
            
          }  
         
         if(RX[num]=='C')                //如果收到字符C,说明C接收器收到声音
         {
            
           LcdWriteCommand(0x01, 1);     //显示清屏 
            DispNChar(1,0,6,tishi);            //最开始在液晶上显示提示信息
            Disp1Char(8,0,'C');           //在1602上显示字符C
         
         }
         
         if(RX[num]=='D')                //如果收到字符D,说明AC都收到声音
         {
           LcdWriteCommand(0x01, 1);     //显示清屏
            DispNChar(1,0,6,tishi);        //最开始在液晶上显示提示信息
            Disp1Char(8,0,'D');
         }
          if(RX[num]=='E')                //如果收到字符E,说明BC都收到声音
         {
          
            LcdWriteCommand(0x01, 1);     //显示清屏
            DispNChar(1,0,6,tishi);            //最开始在液晶上显示提示信息
            Disp1Char(8,0,'E');
         
         }     
}


这样为什么会显示乱呢 --------------------编程问答-------------------- DispNChar
Disp1Char
才是关键吧。代码呢?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,