調(diào)試STM32 time遇到的問題小結(jié)
程序中增加新的time,在初始化中不能進(jìn)行寫入寄存器。原因是沒有進(jìn)行相關(guān)的初始化,有個寄存器沒有進(jìn)行使能操作。
程序如下:
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
{
//GPIO_InitTypeDef GPIO_InitStruct;
if(htim_base->Instance==TIM7)
{
__TIM7_CLK_ENABLE();
HAL_NVIC_SetPriority(TIM7_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM7_IRQn);
}
else if(htim_base->Instance==TIM3)
{
__TIM3_CLK_ENABLE();
}
else if(htim_base->Instance==TIM1)
{
__TIM1_CLK_ENABLE();
}
else if(htim_base->Instance==TIM2)
{
__TIM2_CLK_ENABLE();
HAL_NVIC_SetPriority(TIM2_IRQn, 1, 0);
HAL_NVIC_EnableIRQ(TIM2_IRQn);
}
在添加使能操作的時候,如果定義time是產(chǎn)生中斷的,也要添加如上圖紅色字體。
}