我的意图是用usart0接收命令数据,然后判断各个命令字节,然后再用usart0发送出数据。能将以下switch语句加到usart0接收中断里么?如不然该怎么判定命令数据来了,能及时处理这个命令?求大神指导
#pragma vector=UART0RX_VECTOR__interrupt void UART0_RX(void)
{ for(temp=0;temp<8;temp++)
{
str[temp]=U0RXBUF; //USART_Transmit(RecBuffer[RecPoint][temp8+4]);
}
while(rfovertime)
{
NORWDI;
if(str[0]==DeviceID)
{
LED1ON; //Delay(1) //Delay(1); switch(str[1])
{ //case 0:break; //case 1:break;
case 1: rfovertime=MaxWaitTime; Delay(1); str[0]=DeviceID;
str[1]=0x01;
str[2]=ReadPCF8563(0xa2,0x02); //秒 str[3]=ReadPCF8563(0xa2,0x03); //分 str[4]=ReadPCF8563(0xa2,0x04); //时 str[5]=ReadPCF8563(0xa2,0x05); //日 str[6]=ReadPCF8563(0xa2,0x07); //月 str[7]=ReadPCF8563(0xa2,0x08); //年 Delay(1); NORWDI; RFFIFOSendData(8,&str[0]); //while(!(IFG1 & UTXIFG0));//缓存空闲 NORWDI; Delay(1); break;
下面一堆case,拜谢了