- #include"include.h"
- E_TYPE_LED temp_led;
- static uint32_t flag_100ms = 0;
- //uint8_t test = 0;
- void AllLedOff()
- {
- DrvGPIO_SetBit(E_GPA,2);
- DrvGPIO_SetBit(E_GPA,3);
- DrvGPIO_SetBit(E_GPA,4);
- DrvGPIO_SetBit(E_GPA,5);
- }
- void Tim0CALLBACK(void) //定时器0中断函数 执行LED
- {
- // DrvGPIO_ClrBit(E_GPA,2);
- // DrvGPIO_ClrBit(E_GPA,5);
- switch(temp_led++)//(test++)
- {
- case LED1 ://1:
- AllLedOff();
- DrvGPIO_ClrBit(E_GPA,2);
- break;
- case LED2 ://2:
- AllLedOff();
- DrvGPIO_ClrBit(E_GPA,3);
- break;
- case LED3 ://3:
- AllLedOff();
- DrvGPIO_ClrBit(E_GPA,4);
- break;
- case LED4 : //4:
- AllLedOff();
- DrvGPIO_ClrBit(E_GPA,5);
- break;
- default :
- AllLedOff();
- temp_led = LED1;//test = 1;
- break;
- }
- }
- void BeeOn() //蜂鸣器
- {
- DrvGPIO_SetBit(E_GPB,10); //怎么读入某位的值
- }
- void BeeOff()
- {
- DrvGPIO_ClrBit(E_GPB,10);
- }
- void SysTick_Handler(void) //系统定时器中断函数
- {
- flag_100ms++;
- if(flag_100ms <= 100)
- {
- // DrvGPIO_ClrBit(E_GPA,4);
- // DrvGPIO_SetBit(E_GPA,5);
- BeeOn();
- }
- else if((flag_100ms > 100) && (flag_100ms <= 200))
- {
- // DrvGPIO_ClrBit(E_GPA,5);
- // DrvGPIO_SetBit(E_GPA,4);
- BeeOff();
- }
- else if(flag_100ms > 200)
- {
- flag_100ms = 0;
- }
- }
- void GPIOInit()
- {
- DrvGPIO_Open(E_GPA,2,E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA,3,E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA,4,E_IO_OUTPUT);
- DrvGPIO_Open(E_GPA,5,E_IO_OUTPUT);
- DrvGPIO_Open(E_GPB,10,E_IO_OUTPUT);
- }
- void TIMERInit()
- {
- DrvTIMER_Init();
- DrvSYS_SelectIPClockSource(E_SYS_TMR0_CLKSRC,0);
- DrvTIMER_Open(E_TMR0,1,E_PERIODIC_MODE); //每秒tick数 每秒tick一次
- DrvTIMER_SetTimerEvent(E_TMR0,1,(TIMER_CALLBACK) Tim0CALLBACK,0); //定时器的tick周期 每秒1次
- // DrvTIMER_Open(E_TMR0,1,E_PERIODIC_MODE); //每秒tick数 每秒tick一次
- DrvTIMER_EnableInt(E_TMR0);
- DrvTIMER_Start(E_TMR0);
- }
- void SYSCLKInit()
- {
- DrvSYS_SelectSysTickSource(0);
- SysTick->CTRL = 0x00000003; SysTick->VAL = 0x00000000;
- SysTick->LOAD = 0x6000; //100ms
- }
- void SysInit()
- {
- UNLOCKREG();
- SYSCLK->PWRCON.XTL12M_EN = 1;
- LOCKREG();
- GPIOInit(); //GPIO 初始化
- TIMERInit();
- SYSCLKInit();
- }
- int main()
- {
- SysInit();
- while(1)
- {
- ;
- }
- }