📄 key.c~
字号:
{
if (num[0]>0x39 || num[0]<0x30)
{
num[0]=0x31;
num[1]=0x20;
}
for (i=0;i<11;i++)
{
MobilePhone[i]=num[i];
}
disp_string(14,24,num);
}
gotoxy(14,4);
break;
case 9:
memset(num, 0x00, 25);
i=input_num(2,0);
if (i)
{
if (num[0]>0x39 || num[0]<0x30)
{
num[0]=0x31;
num[1]=0x20;
}
i=atoi(num);
fGrid=(float)i*0.1;
memset(strdata, 0x00, 15);
sprintf(strdata,"%3.1f",fGrid);
disp_string(14,64,strdata);
}
gotoxy(16,9);
break;
}
// gotoxy(14,_cy);
// cursor(2);
// cursor_off;
// return(1);
break;
default:
break;
}
}
}
}
unsigned char set_alarmdata(void)
{
unsigned char key_value;
disp_title(2);
cursor(2);
cursor_on;
gotoxy(20,1);
timer_delay(1000);
while(1)
{
wdr();
if (check_key())
{
key_value=read_key();
switch(key_value)
{
case UP:
if (_cy==1)
{
_cy=15;
}
else
_cy=_cy-2;
gotoxy(20,_cy);
break;
case DOWN:
if (_cy==15)
{
_cy=1;
}
else
_cy=_cy+2;
gotoxy(20,_cy);
break;
case CANCEL:
cursor(2);
cursor_off;
return(1);
// break;
case OK:
switch (_cy)
{
case 1:
my_ombset.fPatrol10m=set_rain();
sprintf(num,"%5.1f",(float)my_ombset.fPatrol10m);
disp_string(20,0,num);
break;
case 3:
my_ombset.fPatrol1h=(float)set_rain();
sprintf(num,"%5.1f",my_ombset.fPatrol1h);
disp_string(20,16,num);
break;
case 5:
my_ombset.fPatrol1d=(float)set_rain();
sprintf(num,"%5.1f",my_ombset.fPatrol1d);
disp_string(20,32,num);
break;
case 7:
my_ombset.fPatrolCon=(float)set_rain();
sprintf(num,"%5.1f",my_ombset.fPatrolCon);
disp_string(20,48,num);
break;
case 9:
my_ombset.fRisk10m=set_rain();
sprintf(num,"%5.1f",(float)my_ombset.fRisk10m);
disp_string(20,64,num);
break;
case 11:
my_ombset.fRisk1h=(float)set_rain();
sprintf(num,"%5.1f",my_ombset.fRisk1h);
disp_string(20,80,num);
break;
case 13:
my_ombset.fRisk1d=(float)set_rain();
sprintf(num,"%5.1f",my_ombset.fRisk1d);
disp_string(20,96,num);
break;
case 15:
my_ombset.fRiskCon=(float)set_rain();
sprintf(num,"%5.1f",my_ombset.fRiskCon);
disp_string(20,112,num);
break;
}
gotoxy(20,_cy);
cursor(2);
// cursor_off;
// return(1);
break;
default:
break;
}
}
}
}
void key_call(void)
{
// unsigned char strdata[15];
keyvalue=check_key();
// memset(strdata, 0x00, 15);
// sprintf(strdata,"%u ",keyvalue);
// disp_string(0,128,strdata);
}
void key_proc(unsigned char key)
{
// unsigned char strdata[15];
// sprintf(strdata,"%u ",key);
// disp_string(0,128,strdata);
switch(key)
{
case SETUP:
rtc_set_flag = TRUE;
psw_deal();
rtc_set_flag = FALSE;
break;
case UP:
graph_page(1);
graph_page(1);
rtc_set_flag = FALSE;
break;
case DOWN:
rtc_set_flag = TRUE;
graph_page(0);
disp_title(2);
break;
default:
break;
}
}
void psw_deal(void)
{
unsigned int inpsw=0;
memset(num, 0x00, 25);
screen_line(0);
graph_page(0);
disp_title(3);
cursor_on;
gotoxy(10,7);
input_num(5,0);
cursor_off;
if (num[0]>0x39 || num[0]<0x30)
{
num[0]=0x31;
num[1]=0x20;
}
inpsw=atoi(num);
if (inpsw == SETPSW)
{
disp_title(5);
key_deal();
}
else
{
screen_line(1);
graph_page(1);
}
}
void key_deal(void)
{
unsigned char i;
i=0;
while (i==0)
{
wdr();
if (check_key())
{
i=check_key();
switch(i)
{
case ONE:
set_alarmdata();
i=1;
break;
case TWO:
set_mobilephone();
i=1;
break;
case THREE:
set_clock();
i=1;
break;
case FOUR:
call_data();
i=1;
break;
case FIVE:
data_print();
i=1;
break;
case EIGHT:
disp_idip();
i=1;
break;
case CANCEL:
i=1;
break;
default:
i=0;
break;
}
}
}
screen_line(1);
graph_page(1);
}
void disp_idip(void)
{
unsigned int i;
unsigned char strdata[30];
memset(strdata, 0x00, 30);
disp_title(9);
i=MY_ID;
sprintf((unsigned char*)strdata, "%d", i);
disp_string(12,38,strdata);
sprintf((unsigned char*)strdata, "%d.%d.%d.%d", my_ipaddr.classA,my_ipaddr.classB,my_ipaddr.classC,my_ipaddr.classD);
disp_string(12,68,strdata);
timer_delay(1000);
while(check_key() != CANCEL)
{
wdr();
}
}
void set_clock(void)
{
unsigned char i;
memset(num, 0x00, 25);
disp_title(6);
cursor_on;
gotoxy(6,8);
timer_delay(1000);
i=input_num(20,0);
cursor_off;
if (i)
{
if (num[0]>0x39 || num[0]<0x30)
{
num[0]=0x31;
num[1]=0x20;
}
num[0]=bcd_add(num[2],num[3]);
num[5]=0x00;
num[4]=bcd_add(num[5],num[6]);
num[3]=bcd_add(num[8],num[9]);
num[2]=bcd_add(num[11],num[12]);
num[1]=bcd_add(num[14],num[15]);
num[6]=num[0];
num[0]=bcd_add(num[17],num[18]);
v_Set1302(num);
CLK_YEAR=atoi(&num[0]);
CLK_MONTH=atoi(&num[5]);
CLK_DAY=atoi(&num[8]);
CLK_HOUR=atoi(&num[11]);
CLK_MIN=atoi(&num[14]);
CLK_SEC=atoi(&num[17]);
}
}
unsigned char bcd_add(unsigned char num1,unsigned char num2)
{
unsigned char i;
i=num1<<4;
num2=num2&0x0f;
i=i|num2;
return i;
}
unsigned char call_data(void)
{
/* unsigned char i;
unsigned char key_value;
unsigned char tempday = 0;
unsigned char tempmonth = 0;
unsigned char tempyear = 0;
memset(num, 0x00, 25);
*/
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -