?? keypress.c
字號:
void keyprocess(void)
{
uchar key=0xff;
if(!pushSW){ //腳踏開關
switch(status){
case llstart: //不是治療狀態,復位為治療態
case llprepare:{timeold=0;timenow=0;power=0;status=zlprepare;}break;
case zlprepare:{ //再次踩腳踏開關,如果條件允許,則開始工作
if(timenow&&power)status=zlstart;
else status=zlprepare;
}break;
}
}
key=ch451_read();
key&=0x7f;
switch(key){
case llkeypress:{ //理療
switch(status){
case zlstart: //不是理療狀態,復位為理療態
case zlprepare:{timeold=0;timenow=0;power=0;status=llprepare;}break;
case llprepare:{//再次按下理療鍵,如果條件允許,則開始工作
if(timenow&&power)status=llstart;
else status=llprepare;
}break;
}
}
break;
///////////////////////////////////////
case resetkeypress:{ //復位按下
if(status==llstart){timenow=timeold;status=llprepare;}
if(status==zlprepare){ //假如在治療準備狀態下按下復位鍵,如果沒有開始設置
if(settime[0]>0x0a){settime[0]=0x0a;settime[1]=100;} //則設置settime
//-----
if(settime[0]==0x00){ //假如按鍵時間超過10s
ch451_write(CH451_DIG5|set);
settime[0]=0xff;settime[1]=0xff;
read_parameter();status=set; //轉移為設置狀態,讀參數
}
//---
}
if (status==set){ //假如再設置狀態下按下復位健,則返回
if(settime[0]>0x0a){settime[0]=0x0a;settime[1]=100;} //則設置settime
//---
if(settime[0]==0x00){ //假如按鍵時間超過10s
ch451_write(CH451_DIG5|llprepare);
settime[0]=0xff;settime[1]=0xff;
save_parameter();status=zlprepare; //轉移為治療準備狀態,寫參數
}
//---
}
}break;
case resetkeyup:{ //復位鍵抬起
if(settime[0]!=0x00){ //復位鍵沒有按下10s
settime[0]=0xff;settime[1]=0xff;
}
}break;
////////////////////////////////////////////////////////////
case timeaddkeypress:{ //時間加
if(status==set){
if(setsection==3)setsection=0;
else setsection++;
}
else{
if(timenow>=99)timenow=0;
else timenow++;
timeold=timenow;
}
}
break;
case timedeckeypress:{ //時間減
if(status==set){
if(setsection==0)setsection=3;
else setsection--;
}
else{
if(timenow==0)timenow=99;
else timenow--;
timeold=timenow;
}
}
break;
case poweraddkeypress:{ //功率加
if(status==set){
if(coef[setsection]==15)coef[setsection]=6;
else coef[setsection]++;
}
else{
if(status==zlstart||status==zlprepare){
if(power>=60)power=0;
else power++;
}
if(status==llstart||status==llprepare){
if(power>=30)power=0;
else power++;
}
}
}
break;
case powerdeckeypress:{ //功率減
if(status==set){
if(coef[setsection]==6)coef[setsection]=15;
else coef[setsection]--;
}
else{
if(status==zlstart||status==zlprepare){
if(power<1)power=60;
else power--;
}
if(status==llstart||status==llprepare){
if(power<1)power=30;
else power--;
}
}
}
break;
}
if(status==set)dispset();
else disptimpower();
}
void keyprocess(void)
{
uchar key=0xff;
if(!pushSW){ //腳踏開關
switch(status){
case llstart:{timeold=0;timenow=0;power=0;status=zlprepare;}break;//不是治療狀態,復位為治療態
case llprepare:{timeold=0;timenow=0;power=0;status=zlprepare;}break;
case zlprepare:{ //再次踩腳踏開關,如果條件允許,則開始工作
if(timenow&&power)status=zlstart;
else status=zlprepare;
}break;
}
}
key=ch451_read();
key&=0x7f;
switch(key){
case llkeypress:{ //理療
switch(status){
case zlstart:{timeold=0;timenow=0;power=0;status=llprepare;}break;//不是理療狀態,復位為理療態
case zlprepare:{timeold=0;timenow=0;power=0;status=llprepare;}break;
case llprepare:{//再次按下理療鍵,如果條件允許,則開始工作
if(timenow&&power)status=llstart;
else status=llprepare;
}break;
}
}
break;
case resetkeypress:{ //復位按下
if(status==llstart){timenow=timeold;status=llprepare;}
if(status==zlprepare){ //假如在治療準備狀態下按下復位鍵,如果沒有開始設置
if(settime[0]>0x0a){settime[0]=0x0a;settime[1]=100;} //則設置settime
//-----
if(settime[0]==0x00){ //假如按鍵時間超過10s
ch451_write(CH451_DIG5|0x0f);
settime[0]=0xff;settime[1]=0xff;
if(status==zlprepare)
{read_parameter();status=set;} //轉移為設置狀態,讀參數
else
status=zlprepare; //轉移為治療準備狀態
}
//---
}
if (status==set){ //假如再設置狀態下按下復位健,則返回
if(settime[0]>0x0a){settime[0]=0x0a;settime[1]=100;} //則設置settime
//---
if(settime[0]==0x00){ //假如按鍵時間超過10s
ch451_write(CH451_DIG5|0x01);
settime[0]=0xff;settime[1]=0xff;
if(status==set)
{save_parameter();status=zlprepare;} //轉移為治療準備狀態,寫參數
else
status=set; //轉移為設置狀態
}
//---
}
}break;
case resetkeyup:{ //復位鍵抬起
if(status==zlprepare){
if(settime[0]!=0x00){ //復位鍵沒有按下10s
settime[0]=0xff;settime[1]=0xff;
status=zlprepare; //轉移為治療準備狀態
}
}
if(status==set){
if(settime[0]!=0x00){ //復位鍵沒有按下10s
settime[0]=0xff;settime[1]=0xff;
status=set; //轉移為設置狀態
}
}
}break;
case timeaddkeypress:{ //時間加
if(status==set){
if(setsection==3)setsection=0;
else setsection++;
}
else{
if(timenow>=99)timenow=0;
else timenow++;
timeold=timenow;
}
}
break;
case timedeckeypress:{ //時間減
if(status==set){
if(setsection==0)setsection=3;
else setsection--;
}
else{
if(timenow==0)timenow=99;
else timenow--;
timeold=timenow;
}
}
break;
case poweraddkeypress:{ //功率加
if(status==set){
if(coef[setsection]==15)coef[setsection]=6;
else coef[setsection]++;
}
else{
if(status==zlstart||status==zlprepare){
if(power>=60)power=0;
else power++;
}
if(status==llstart||status==llprepare){
if(power>=30)power=0;
else power++;
}
}
}
break;
case powerdeckeypress:{ //功率減
if(status==set){
if(coef[setsection]==6)coef[setsection]=15;
else coef[setsection]--;
}
else{
if(status==zlstart||status==zlprepare){
if(power<1)power=60;
else power--;
}
if(status==llstart||status==llprepare){
if(power<1)power=30;
else power--;
}
}
}
break;
}
if(status==set)dispset();
else disptimpower();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -