📄 recever.c
字号:
void Rece(void)
{
if(Flag==1)
{
SREG=0x00;
switch(ReceverCnt)
{
case 0:if(temp=='(')ReceverCnt=1;
else if(temp=='{')ReceverCnt=20;
else if(temp=='<')ReceverCnt=40;
else ReceverEndFlag=0;break;
case 1:if((temp>=0x30)&&(temp<=0x39)){a[0]=temp-0x30;ReceverCnt=2;}//year
else ReceverEndFlag=0;break;
case 2:if((temp>=0x30)&&(temp<=0x39)){a[1]=temp-0x30;ReceverCnt=3;}
else ReceverEndFlag=0;break;
case 3:if((temp>=0x30)&&(temp<=0x39)){a[2]=temp-0x30;ReceverCnt=4;}
else ReceverEndFlag=0;break;
case 4:if((temp>=0x30)&&(temp<=0x39)){a[3]=temp-0x30;ReceverCnt=5;}
else ReceverEndFlag=0;break;
case 5:if(temp==',')ReceverCnt=6;
else ReceverEndFlag=0;break;
case 6:if((temp>=0x30)&&(temp<=0x39)){a[4]=temp-0x30;ReceverCnt=7;}//month
else ReceverEndFlag=0;break;
case 7:if((temp>=0x30)&&(temp<=0x39)){a[5]=temp-0x30;ReceverCnt=8;}
else ReceverEndFlag=0;break;
case 8:if(temp==',')ReceverCnt=9;
else ReceverEndFlag=0;break;
case 9:if((temp>=0x30)&&(temp<=0x39)){a[6]=temp-0x30;ReceverCnt=10;}//date
else ReceverEndFlag=0;break;
case 10:if((temp>=0x30)&&(temp<=0x39)){a[7]=temp-0x30;ReceverCnt=11;}
else ReceverEndFlag=0;break;
case 11:if(temp==',')ReceverCnt=12;
else ReceverEndFlag=0;break;
case 12:if((temp>=0x30)&&(temp<=0x39)){a[8]=temp-0x30;ReceverCnt=13;}//hour
else ReceverEndFlag=0;break;
case 13:if((temp>=0x30)&&(temp<=0x39)){a[9]=temp-0x30;ReceverCnt=14;}
else ReceverEndFlag=0;break;
case 14:if(temp==',')ReceverCnt=15;
else ReceverEndFlag=0;break;
case 15:if((temp>=0x30)&&(temp<=0x39)){a[10]=temp-0x30;ReceverCnt=16;}//minute
else ReceverEndFlag=0;break;
case 16:if((temp>=0x30)&&(temp<=0x39)){a[11]=temp-0x30;ReceverCnt=17;}
else ReceverEndFlag=0;break;
case 17:if(temp==')'){ReceverCnt=0;ReceverEndFlag=1;}
else if(temp=='{')ReceverCnt=20;
else ReceverEndFlag=0;break;
//************************************************
case 20:if((temp>=0x30)&&(temp<=0x39)){b[0]=temp-0x30;ReceverCnt=21;}//set_hour1
else ReceverEndFlag=0;break;
case 21:if((temp>=0x30)&&(temp<=0x39)){b[1]=temp-0x30;ReceverCnt=22;}
else ReceverEndFlag=0;break;
case 22:if(temp==',')ReceverCnt=23;
else ReceverEndFlag=0;break;
case 23:if((temp>=0x30)&&(temp<=0x39)){b[2]=temp-0x30;ReceverCnt=24;}//set_minute1
else ReceverEndFlag=0;break;
case 24:if((temp>=0x30)&&(temp<=0x39)){b[3]=temp-0x30;ReceverCnt=25;}
else ReceverEndFlag=0;break;
case 25:if(temp==';')ReceverCnt=26;
//-------------------------------------------------
case 26:if((temp>=0x30)&&(temp<=0x39)){c[0]=temp-0x30;ReceverCnt=27;}//set_hour2
else ReceverEndFlag=0;break;
case 27:if((temp>=0x30)&&(temp<=0x39)){c[1]=temp-0x30;ReceverCnt=28;}
else ReceverEndFlag=0;break;
case 28:if((temp>=0x30)&&(temp<=0x39)){c[2]=temp-0x30;ReceverCnt=29;}//set_minute2
else ReceverEndFlag=0;break;
case 29:if((temp>=0x30)&&(temp<=0x39)){c[3]=temp-0x30;ReceverCnt=30;}
else ReceverEndFlag=0;break;
case 30:if((temp=='}')||(temp==')')){ReceverCnt=0;ReceverEndFlag=2;}
else if(temp=='<')ReceverCnt=40;
else ReceverEndFlag=0;break;
//**************************************************
case 40:if((temp>=0x30)&&(temp<=0x39)){d[0]=temp-0x30;ReceverCnt=41;}//set_hour1_on/off
else ReceverEndFlag=0;break;
case 41:if(temp==';')ReceverCnt=42;
else ReceverEndFlag=0;break;
case 42:if((temp>=0x30)&&(temp<=0x39)){d[1]=temp-0x30;ReceverCnt=43;}//set_hour2_on/off
else ReceverEndFlag=0;break;
case 43:if((temp=='>')||(temp==')')){ReceverCnt=0;ReceverEndFlag=3;}
else ReceverEndFlag=0;break;
default:ReceverCnt=0;break;
}
Flag=0;
SREG=0x80;
}
}
//-------------------
void mov(void)
{
year=((uint)(a[0]*1000))+((uint)(a[1]*100))+((uint)(a[2]*10))+((uint)(a[3]));
month=a[4]*10+a[5];
date=a[6]*10+a[7];
hour=a[8]*10+a[9];
minute=a[10]*10+a[11];
set_hour1=b[0]*10+b[1];
set_minute1=b[2]*10+b[3];
set_hour2=c[0]*10+c[1];
set_minute2=c[2]*10+c[3];
}
/***********************/
void uart0_send(unsigned char i)
{
while(!(UCSRA&(1<<UDRE)));
UDR=i;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -