timer_capture例程¶
1 功能概述¶
本例程主要演示 EVB timer2 捕捉模式0的简单例程,本例程以捕捉通道2为示例,捕捉通道2与P3_6相关联, P3_6与KEY RST相连接,通过不断按下KEY RST来触发timer2的捕捉事件,然后通过串口将通道2捕捉的计数值打印出来。
2 环境要求¶
Board: PAN2628B1_EVB
将 J13(P3_6) 开关拔至PWM1侧,将P3_6引脚与RGB蓝色led控制引脚相连,禁用P3_6复位功能,设置为普通IO功能,并配置成输入模式带上位电阻
将 J17(P1_2) 开关拔至PWM1侧,将P1_2与RGB蓝色指示灯控制引脚相连
将 J19(P3_1) 开关拔至TX侧,将P3_1引脚与uart的TX引脚相连
3 编译和烧录¶
例程位置:pan2628_dk\01_SDK\example_basic\timer\timer_capture例程
打开目录下keil下的timer_capture.uvprojx工程,编译整个代码工程。
4 演示说明¶
根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译、下载代码后:
在电脑上打开串口调试工具,串口参数:115200/8bit/1stop/无校验
不断按下KEY RST触发timer2 channel2下降沿捕捉事件
观察串口调试工具是否有Timer2CaptureCnt输出
观察按下KEY RST后是否触发LED状态翻转
串口输出信息如下:
Timer2 channel2 capture test.
Timer2CaptureCnt:0xb932
Timer2CaptureCnt:0xd242
Timer2CaptureCnt:0x2dee
Timer2CaptureCnt:0xa59d
Timer2CaptureCnt:0x6e44
Timer2CaptureCnt:0x70b8
Timer2CaptureCnt:0x57c6
Timer2CaptureCnt:0x5902
Timer2CaptureCnt:0x780d
Timer2CaptureCnt:0x8f72
5 开发说明¶
通过调用 timer.c中的TIM_TimeBaseInit()、TIM_CapInit()、TIM_EnableIRQ()、TIM_Cmd()
等函数接口来实现timer基础功能配置,详细请查阅代码。
/* timer2 base function initialize */
TIM_TimeBaseInit(TIMER2, TIM2_Mode1_16BitNoReload, TIM_CLK_DIV_12T, 0x0000);
/* timer2 capture function initialize */
TIM_CapInit(TIMER2, TIM_Channel2, TIM_CapMode0, TIM_CapPolarity_Falling, 0x0000);
TIM_EnableIRQ(TIMER2); /**< Enable timer2 interrupt */
TIM_Cmd(TIMER2, ENABLE); /**< Start timer2 */
6 RAM/Flash资源使用情况¶
Program Size: data=16.0 xdata=0 const=8 code=1361