📄 main.c
字号:
#include"SPCE061A.H"
#include"Uart.h"
#include"Key.h"
#include"Led.h"
#include"Main.h"
static unsigned char ucKeyValueTemp;
static unsigned char ucKeyValue;
static unsigned char ucSysState;
void main(void){
vSysInit();
while(1){
vHandleLed();
vHandleKey();
vHandleAlarm();
vHandleUart();
*Port_Watchdog_Clear = 0x01;
}
}
void vSysInit(void){
vAlarmSysInit();
vDetectSysInit();
vUartSysInit();
vIsrSysInit();
ucSysState = SYS_STATE_DISP;
}
void vHandleLed(void){
unsigned int temp;
if(SYS_STATE_DISP ==ucSysState){
temp = unGetDetectValue();
if(DETECT_DATA_VALUE_INVALIDATE != temp){
vSetLedDispNum(temp);
vLedDispNum();
}
return;
}
if(SYS_STATE_SET == ucSysState){
vSetLedDispNum(temp);
vLedDispNum(ucKeyValueTemp);
}
}
void vHandleKey(void){
unsigned char ucKeyTemp;
ucKeyTemp = ucGetKey();
if(KEY_VALUE_INVALIDATE != ucKeyTemp){
if(SYS_STATE_DISP == ucSysState){
if(KEY_VALUE_SET == ucKeyTemp){
ucSysState = SYS_STATE_SET;
return;
}
}
if(SYS_STATE_SET == ucSysState){
switch(ucKeyTemp){
case KEY_VALUE_SET:
ucSysState = SYS_STATE_DISP;
ucKeyValue = ucKeyValueTemp;
break;
case KEY_VALUE_CLEAR:
ucKeyValueTemp /=10;
break;
default:
if(ucKeyValueTemp < 1000){
ucKeyValueTemp = 10 * ucKeyValueTemp + ucKeyTemp;
}
break;
}
}
}
}
void vHandleAlarm(void){
unsigned int temp;
temp = unGetDetectValue();
if(DETECT_DATA_VALUE_INVALIDATE != temp){
if(ucKeyValue <= temp){
vAlarm();
}else{
vUnAlarm();
}
}
}
void vHandleUart(void){
unsigned int temp;
temp = unGetDetectValue();
if(DETECT_DATA_VALUE_INVALIDATE != temp){
vUartTx(&temp);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -