RT Thread HWtimer HAL底层驱动中stm32f4xx_hal_tim.c 中的void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) 默认使用的是weak 函数,并没有实现,需要重写void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)之后才可以正常工作。
可以通过MXcube,按照自己的板子参数配置之后,自动MCU相关的MSP init代码。然后替换_weak void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)之后就可以啦。
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
if(htim_base->Instance==TIM11)
{
/* USER CODE BEGIN TIM11_MspInit 0 */
/* USER CODE END TIM11_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_TIM11_CLK_ENABLE();
/* TIM11 interrupt Init */
HAL_NVIC_SetPriority(TIM1_TRG_COM_TIM11_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM1_TRG_COM_TIM11_IRQn);
/* USER CODE BEGIN TIM11_MspInit 1 */
/* USER CODE END TIM11_MspInit 1 */
}
}