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 */
}
}