/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file tim.c * @brief This file provides code for the configuration * of the TIM instances. ****************************************************************************** * @attention * * Copyright (c) 2025 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "tim.h" /* USER CODE BEGIN 0 */ /* USER CODE END 0 */ TIM_HandleTypeDef htim7; /* TIM7 init function */ 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 = 99; htim7.Init.CounterMode = TIM_COUNTERMODE_UP; htim7.Init.Period = 9999; 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 */ } void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { if(tim_baseHandle->Instance==TIM7) { /* USER CODE BEGIN TIM7_MspInit 0 */ /* USER CODE END TIM7_MspInit 0 */ /* TIM7 clock enable */ __HAL_RCC_TIM7_CLK_ENABLE(); /* TIM7 interrupt Init */ HAL_NVIC_SetPriority(TIM7_IRQn, 0, 0); HAL_NVIC_EnableIRQ(TIM7_IRQn); /* USER CODE BEGIN TIM7_MspInit 1 */ /* USER CODE END TIM7_MspInit 1 */ } } void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) { if(tim_baseHandle->Instance==TIM7) { /* USER CODE BEGIN TIM7_MspDeInit 0 */ /* USER CODE END TIM7_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_TIM7_CLK_DISABLE(); /* TIM7 interrupt Deinit */ HAL_NVIC_DisableIRQ(TIM7_IRQn); /* USER CODE BEGIN TIM7_MspDeInit 1 */ /* USER CODE END TIM7_MspDeInit 1 */ } } /* USER CODE BEGIN 1 */ static uint8_t tim7_clock_100ms = 0; static uint8_t tim7_clock_200ms = 0; static uint8_t tim7_clock_500ms = 0; static uint8_t tim7_clock_1000ms = 0; uint8_t g_tim7_100ms_flag = 0; uint8_t g_tim7_200ms_flag = 0; uint8_t g_tim7_500ms_flag = 0; uint8_t g_tim7_1000ms_flag = 0; // 10ms+1 void tim7_clock_update(void) { tim7_clock_100ms++; tim7_clock_200ms++; tim7_clock_500ms++; tim7_clock_1000ms++; if(tim7_clock_100ms >= 10) { g_tim7_100ms_flag = 1; tim7_clock_100ms = 0; } if(tim7_clock_200ms >= 20) { g_tim7_200ms_flag = 1; tim7_clock_200ms = 0; } if(tim7_clock_500ms >= 50) { g_tim7_500ms_flag = 1; tim7_clock_500ms = 0; } if(tim7_clock_1000ms >= 100) { g_tim7_1000ms_flag = 1; tim7_clock_1000ms = 0; } } /* USER CODE END 1 */