📄 main.c
字号:
#include "define.h"
#include "message.h"
#include "interrupt.h"
#include "system.h"
#include "max6955.h"
#ifdef SMTIMER
#include "smarttimer.h"
#endif
#ifdef RTC
#include "rtc.h"
#endif
#ifdef UART
#include "uart.h"
#endif
#ifdef KEYBOARD
#include "keyboard.h"
#endif
#ifdef LED
#include "led.h"
#endif
#ifdef LCD
#include "lcd.h"
#endif
#ifdef ADC
#include "adc.h"
#endif
#ifdef DAC
#include "DAC.h"
#endif
#ifdef WATCHDOG
#include "watchdog.h"
#endif
#ifdef PSM
#include "PSM.h"
#endif
#ifdef I2C
#include "I2C.h"
#endif
void SystemInit(void)
{
#ifdef SMTIMER
Timer2Init();
#endif
#ifdef RTC
RtcInit();
#endif
#ifdef UART
UartInit();
#endif
#ifdef ADC
ADCInit();
#endif
#ifdef DAC
DACInit();
#endif
#ifdef WATCHDOG
WatchdogInit();
#endif
#ifdef PSM
PSMInit();
#endif
#ifdef I2C
I2CInit();
#endif
InterruptInit();
#ifdef LED
LedInit();
#endif
#ifdef LCD
LcdInit();
#endif
#ifdef KEYBOARD
KeyInit();
#endif
}
void main(void)
{
byte nSampleData;
nSampleData=0;
SystemInit(); /*r初始化进程*/
LEDWrite(0,0);
P2=0xff;
/****************************************************/
RtcSetTime(9,40,0);
while(TRUE)
{
MsgQueueOut();
switch(g_MsgTypeReturn) /*r根据消息队列的取值进行处理*/
{
#ifdef KEYBOARD
case MSG_KEY: /*r若是按键消息*/
KeyProcess();
break;
#endif
#ifdef UART_RX
case MSG_UART: /*r若是串口通信消息,则进行串口通信处理*/
UartProcess();
break;
#endif
#ifdef RTC
case MSG_RTC:
LEDWrite(LED0,g_RTCMember.hour/10);
LEDWrite(LED1,g_RTCMember.hour%10);
LEDWrite(LED2,g_RTCMember.minute/10);
LEDWrite(LED3,g_RTCMember.minute%10);
LEDWrite(LED4,g_RTCMember.second/10);
LEDWrite(LED5,g_RTCMember.second%10);
break;
#endif
case MSG_ADC:
nSampleData=ADCIn(5);
UartSend(&nSampleData,2);
LEDWrite(0,nSampleData%10);
break;
default:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -