카테고리 없음

STM32 timer7

바람사탕 2022. 6. 15. 22:27
반응형

htim7.Init.Prescaler = 120-1;  //120MHz
htim7.Init.Period = 1000-1;

=> 1msec

 

htim7.Init.Prescaler = 120-1;  //120MHz
htim7.Init.Period = 100-1;

=> 0.1msec

 

HAL_TIM_Base_Start_IT(&htim7);

 

 

void TIM7_IRQHandler(void)
{

   //1msec

   ...

}

 

 

static void MX_TIM7_Init(void)
{

  /* USER CODE BEGIN TIM7_Init 0 */

  /* USER CODE END TIM7_Init 0 */

  TIM_MasterConfigTypeDef sMasterConfig = {0};

  /* USER CODE BEGIN TIM7_Init 1 */

  /* USER CODE END TIM7_Init 1 */
  htim7.Instance = TIM7;
  htim7.Init.Prescaler = 120-1;  //120MHz
  htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim7.Init.Period = 1000-1;  //1000
  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();
  }
  /* USER CODE BEGIN TIM7_Init 2 */

  /* USER CODE END TIM7_Init 2 */

}

반응형