/* * @Author: wujunchao wujunchao@wuxismart.com * @Date: 2024-12-27 10:42:51 * @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditTime: 2025-03-19 14:57:50 * @FilePath: \signal_generator\Core\Inc\tim.h * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file tim.h * @brief This file contains all the function prototypes for * the tim.c file ****************************************************************************** * @attention * * Copyright (c) 2024 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 */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __TIM_H__ #define __TIM_H__ #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "main.h" /* USER CODE BEGIN Includes */ #define freq_operation(FREQ, PULSE) \ do \ { \ if (FREQ <= 0 || FREQ >= 41472000 || PULSE <= 0 || PULSE >= 100) \ { \ HAL_TIMEx_PWMN_Stop(&htim1, TIM_CHANNEL_2); \ return; \ } \ uint16_t duty = 41472000 / FREQ; \ __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_2, duty *PULSE / 100 - 1); \ __HAL_TIM_SET_AUTORELOAD(&htim1, duty -1); \ HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2); \ } while (0) /* USER CODE END Includes */ extern TIM_HandleTypeDef htim1; extern TIM_HandleTypeDef htim3; extern TIM_HandleTypeDef htim6; /* USER CODE BEGIN Private defines */ /* USER CODE END Private defines */ void MX_TIM1_Init(void); void MX_TIM3_Init(void); void MX_TIM6_Init(void); void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); /* USER CODE BEGIN Prototypes */ /* USER CODE END Prototypes */ #ifdef __cplusplus } #endif #endif /* __TIM_H__ */