timer_base例程¶
1 功能概述¶
本例程主要演示 EVB timer基础定时功能的简单例程,以timer0&timer1定时器为示例,两个定时器分别设定最大计数周期49.152ms,并开启中断, timer0每发生20次中断,让蓝色led状态翻转一次;timer1每发生20次中断,让红色led状态翻转一次。
*注:
RGB蓝色指示灯对应P1_2
RGB红色指示灯对应P3_0
2 环境要求¶
Board: PAN2628B1_EVB
将 J17(P1_2) 开关拔至PWM1侧,将P1_2与RGB蓝色led控制引脚相连
将 J18(P3_0) 开关拔至PWM2侧,将P3_0与RGB红色led控制引脚相连
3 编译和烧录¶
例程位置:pan2628_dk\01_SDK\example_basic\timer\timer_base
打开目录下keil下的timer_base.uvprojx工程,编译整个代码工程。
5 开发说明¶
通过调用 timer.c中的TIM_TimeBaseInit()、TIM_EnableIRQ()、TIM_Cmd()
等函数接口来实现timer基础功能配置,详细请查阅代码。
/* timer0 initialize */
TIM_TimeBaseInit(TIMER0, TIM0_Mode1_16BitNoReload, TIM_CLK_DIV_12T, 0x0000);
/* timer1 initialize */
TIM_TimeBaseInit(TIMER1, TIM1_Mode1_16BitNoReload, TIM_CLK_DIV_12T, 0x0000);
TIM_EnableIRQ(TIMER0); /**< Enable timer0 interrupt */
TIM_EnableIRQ(TIMER1); /**< Enable timer1 interrupt */
TIM_Cmd(TIMER0, ENABLE); /**< Start timer0 */
TIM_Cmd(TIMER1, ENABLE); /**< Start timer1 */
6 RAM/Flash资源使用情况¶
Program Size: data=18.0 xdata=0 const=8 code=1320