这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» STM32» STM32L0系列之【TIM通用定时器】

共2条 1/1 1 跳转至

STM32L0系列之【TIM通用定时器】

院士
2023-05-23 23:50:28 打赏

频率2.097Mhz , TIM2定时1s触发一次中断
1.TIM2初始化
HAL_TIM_Base_Init>HAL_TIM_ConfigClockSource>HAL_TIMEx_MasterConfigSynchronization

  1. /**

  2. * @brief TIM2 Initialization Function

  3. * @param None

  4. * @retval None

  5. */

  6. TIM_HandleTypeDef htim2;

  7. void MX_TIM2_Init(uint16_t time)

  8. {

  9. TIM_ClockConfigTypeDef sClockSourceConfig = {0};

  10. TIM_MasterConfigTypeDef sMasterConfig = {0};


  11. htim2.Instance = TIM2;

  12. htim2.Init.Prescaler = 2000;

  13. htim2.Init.CounterMode = TIM_COUNTERMODE_UP;

  14. htim2.Init.Period = time - 1;

  15. htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

  16. htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;

  17. if (HAL_TIM_Base_Init(&htim2) != HAL_OK)

  18. {

  19. Error_Handler();

  20. }

  21. sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;

  22. if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)

  23. {

  24. Error_Handler();

  25. }

  26. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

  27. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

  28. if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)

  29. {

  30. Error_Handler();

  31. }

  32. }

复制代码


2.TIM2 中断处理函数

  1. /**

  2. * @brief This function handles TIM2 global interrupt.

  3. */

  4. void TIM2_IRQHandler(void)

  5. {

  6. HAL_TIM_IRQHandler(&htim2);

  7. }

复制代码


3.主函数main

  1. int main(void)

  2. {

  3. HAL_Init();

  4. /* Configure the system clock */

  5. SystemClock_Config();

  6. LED_Init();//LED初始化

  7. MX_TIM2_Init(1001); //1s一次

  8. HAL_TIM_Base_Stop_IT(&htim2);

  9. HAL_TIM_Base_Start_IT(&htim2);


  10. while(1)

  11. {}

  12. }

复制代码


4.TIM中断回调处理函数

  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

  2. {

  3. if(htim == &htim2)

  4. {

  5. HAL_GPIO_TogglePin(GPIOB,GPIO_PIN8);

  6. }

  7. }




专家
2023-05-24 01:33:51 打赏
2楼

感谢楼主的分享,很实用了。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]