
STM32CubeMx入门教程 (3)定时器的使用 导语“使用STM32CubeMx 生成初始化定时器代码,实现定时器特定定时” --------第一节 系统要求---------- l 硬件:野火指南者 l 软件 CUbeMX & KEIL l F103总线系统框图 项目文件还是在LED,USART 项目的基础上添加配置代码。 ![]() 我们可以看到共8个定时器,TIM1在APB2总线上,其他的在APB1系统总线上。 -------第二节CubeMx配置------------- l 时钟配置 在CubeMX的时钟配置中,可以看到,TIM1和TIM2时钟是72MHz。 ![]() l 定时器TIME1配置 ![]() 使能TIME1全局中断: ![]() l TIME2的配置 ![]() TIME1 & TIME2 使用内部时钟源,参数配置的时候通过计算实现1S的定时中断。 定时:(72000000/(7199+1)/(9999+1))= 1Hz。 可以设置TIME2 定时2S,参数设置为:(72000000/(7199+1)/(19999+1))= 0.5Hz ![]() 使能TIME2全局中断模式: ![]() -----------第三节 MDK代码编写------------------ (1)在main.c 中编写定时器中断回调函数,我们只需编写中断回调函数,不需要直接编写中断处理函数。 (2)main主函数的while中为空,使用定时中断处理应用。 ![]() (3)在main.c的主函数初始化代码区中添加开始定时函数,打开TIME1 & TIME2的定时器。 ------------第四节 效果显示---------------- ![]() 总结:(1)cubeMX 定时器的配置很简单,选择内部时钟源,配置定时器定时参数(时间的计算方法套公式就可以),使能定时器中断。 (2)在应用代码中使用HALTIMBaseStartIT(&htim1)打开定时器。 编写定时器定时中断回调函数实现定时应用: voidHALTIMPeriodElapsedCallback(TIM_HandleTypeDef *htim) 文章出处: 小鸟的早晨 |