?? winkeyb.c
字號:
#ifndef _WINKEYB_C_#define _WINKEYB_C_#include "winkeyb.h"#include "msconfig.h"void KeyScan( void ){ static uchar cKeyTask = 0;//定義任務參數、 static uchar cKeyTime = 0;//定義時間參數、 //任務參數 switch(cKeyTask){ case 0: if( bStarKey ) { cKeyTime = 4; //準備延時20ms cKeyTask++; //準備好下一個任務 bStarKey = 0; } break; case 1: cKeyTime--; //延時30 ms if( cKeyTime == 0) cKeyTask++; break; case 2: if( STAR_BUTTON_IN == 1) { //調按鍵處理程序 cKeyTask ++; } else cKeyTask = 0;//退出任務 //RA0 = 0; //RC3 = 0; break; case 3: if( STAR_BUTTON_IN == 0) //有效按鍵復位時才動作 { //調按鍵處理程序 //bStar_Button = 1; bStar_Button = !bStar_Button; cKeyTask = 0; } break; default: cKeyTask = 0; break; }}void vDutTest(void){// static uchar cStep = 0; static uchar cButtOnTime = 0; static uchar cReSynTimes = 0; switch (cStep) { case 0: if(TEST_POWER == 0) //如果電源沒有打開,打開電源 { NOP(); NOP(); TEST_POWER = 1; } KEY_TIME_1 = 0; cStep++; break; case 1: if(KEY_TIME_1 > 10 ) { bDecodeInPre = DECODE_OK_IN; KEY_TIME_2 = 0; cStep++; REMOTE_SW_CTRL = 1; if(cErrTimes > 3) { if(++cReSynTimes <= 3) { cButtOnTime = 5; } else { cButtOnTime = 1; } } else { cButtOnTime = 1; cReSynTimes = 0; } if (cButtOnTime == 1) { cTestTimes++; } } break; case 2: if( KEY_TIME_2 <= cButtOnTime ) { if (( DECODE_OK_IN == 0) && (bDecodeInPre == 1)) //if ( DECODE_OK_IN == 1 ) { KEY_TIME_2 = 0; //暫停2s cStep = 4; REMOTE_SW_CTRL = 0; G_LAMP = 1; } } else { REMOTE_SW_CTRL = 0; if (cButtOnTime == 1) { cErrTimes++; } KEY_TIME_2 = 0; //暫停2s cStep = 3; NG_LAMP = 1; } break; case 3: if ( KEY_TIME_2 > TEST_BREAK_TIME) { cStep = 0; NG_LAMP = 0; } break; case 4: if ( KEY_TIME_2 > TEST_BREAK_TIME) { cStep = 0; G_LAMP = 0; } break; default: cStep = 0; NG_LAMP = 0; G_LAMP = 0; TEST_POWER = 0; break; }}#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -