HAL库关于定时器初始化直接硬件错误
//定时器7是普通计数器,只提供定时的功能开启中断只有一个中断没有//__HAL_TIM_ENABLE_IT(&htim7,TIM_IT_UPDATE);更新中断加上这个就会死机
void TIM7_Init(void) { TIM_MasterConfigTypeDef sMasterConfig = {0}; htim7.Instance = TIM7; htim7.Init.Prescaler = 71; // 预分频值PSC htim7.Init.CounterMode = TIM_COUNTERMODE_UP; // 向上计数模式 htim7.Init.Period = 5000; // 自动重载值ARR htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; // 自动重载禁用预装载 if (HAL_TIM_Base_Init(&htim7) != HAL_OK) { Error_Handler(); } // 配置定时器主从模式(此处无需主从模式,保持默认) sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { Error_Handler(); } } void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim) { if(htim->Instance == htim7.Instance) { __HAL_RCC_TIM7_CLK_ENABLE(); HAL_NVIC_SetPriority(TIM7_IRQn, 5, 0); // 优先级组1,子优先级0 HAL_NVIC_EnableIRQ(TIM7_IRQn); //__HAL_TIM_ENABLE_IT(&htim7,TIM_IT_UPDATE); } }