STM32F407的基本定时器有两个TIM6和TIM7。
中断配置步骤及用到的函数以及某些结构体要用到的成员如图。
注:1、要用到的驱动代码从上往下依次在stm32f4xx_hal_tim.c的266行、stm32f4xx_hal_rcc_ex.h的2331和2338行、stm32f4xx_hal_cortex.c的165和187行、stm32f4xx_hal_tim.c的458行、startup_stm32f407xx.s的367和368行、stm32f4xx_hal_tim.c的3730和5495行。
2、基本定时器只能向上计数。
3、HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);为更新定时器中断和使能定时器函数,可以用单独使能/关闭定时器中断和使能/关闭定时器的函数代替,具体函数如下。
__HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); /* 使能句柄指定的定时器更新中断 */
__HAL_TIM_DISABLE_IT (htim, TIM_IT_UPDATE); /* 关闭句柄指定的定时器更新中断 */
__HAL_TIM_ENABLE(htim); /* 使能句柄 htim 指定的定时器 */
__HAL_TIM_DISABLE(htim); /* 关闭句柄 htim 指定的定时器 */
4、中断时间=((Period+1)*(Prescaler+1))/84000000,单位秒。