📄 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 + -