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