STM32G474xx HAL 用户手册
stm32g4xx_ll_lptim.h
转到此文件的文档
00001 /**
00002   ******************************************************************************
00003   * @file    stm32g4xx_ll_lptim.h
00004   * @author  MCD Application Team
00005   * @brief   LPTIM LL模块的头文件。
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * Copyright (c) 2019 STMicroelectronics.
00010   * All rights reserved.
00011   *
00012   * This software is licensed under terms that can be found in the LICENSE file
00013   * in the root directory of this software component.
00014   * If no LICENSE file comes with this software, it is provided AS-IS.
00015   *
00016   ******************************************************************************
00017   */
00018 
00019 /* Define to prevent recursive inclusion -------------------------------------*/
00020 #ifndef STM32G4xx_LL_LPTIM_H
00021 #define STM32G4xx_LL_LPTIM_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /* Includes ------------------------------------------------------------------*/
00028 #include "stm32g4xx.h"
00029 
00030 /** @addtogroup STM32G4xx_LL_Driver
00031   * @{
00032   */
00033 
00034 
00035 
00036 /** @defgroup LPTIM_LL LPTIM
00037   * @{
00038   */
00039 
00040 /* Private types -------------------------------------------------------------*/
00041 /* Private variables ---------------------------------------------------------*/
00042 
00043 /* Private constants ---------------------------------------------------------*/
00044 
00045 /* Private macros ------------------------------------------------------------*/
00046 #if defined(USE_FULL_LL_DRIVER)
00047 /** @defgroup LPTIM_LL_Private_Macros LPTIM私有宏
00048   * @{
00049   */
00050 /**
00051   * @}
00052   */
00053 #endif /*USE_FULL_LL_DRIVER*/
00054 
00055 /* Exported types ------------------------------------------------------------*/
00056 #if defined(USE_FULL_LL_DRIVER)
00057 /** @defgroup LPTIM_LL_ES_INIT LPTIM导出的初始化结构
00058   * @{
00059   */
00060 
00061 /**
00062   * @brief  LPTIM初始化结构定义
00063   */
00064 typedef struct
00065 {
00066   uint32_t ClockSource;    /*!< 指定LPTIM实例使用的时钟源。
00067                                 此参数可以是@ref LPTIM_LL_EC_CLK_SOURCE的值之一。
00068 
00069                                 此功能稍后可通过单元函数@ref LL_LPTIM_SetClockSource()进行修改。*/
00070 
00072   uint32_t Prescaler;      /*!< 指定预分频器分频比。
00073                                 此参数可以是@ref LPTIM_LL_EC_PRESCALER的值之一。
00075 
00076                                 此功能稍后可通过单元函数@ref LL_LPTIM_SetPrescaler()进行修改。*/
00077 
00078   uint32_t Waveform;       /*!< 指定波形形状。
00079                                 此参数可以是@ref LPTIM_LL_EC_OUTPUT_WAVEFORM的值之一。
00081 
00082                                 此功能稍后可通过单元函数@ref LL_LPTIM_ConfigOutput()进行修改。*/
00084 
00084   uint32_t Polarity;       /*!< 指定波形极性。
00085                                 此参数可以是@ref LPTIM_LL_EC_OUTPUT_POLARITY的值之一。
00087 
00088                                 此功能稍后可通过单元函数@ref LL_LPTIM_ConfigOutput()进行修改。*/
00089 } LL_LPTIM_InitTypeDef;
00090 
00091 /**
00092   * @}
00093   */
00094 #endif /* USE_FULL_LL_DRIVER */
00095 
00095 
00096 /* Exported constants --------------------------------------------------------*/
00097 /** @defgroup LPTIM_LL_Exported_Constants LPTIM导出的常量
00098   * @{
00099   */
00100 
00101 /** @defgroup LPTIM_LL_EC_GET_FLAG 获取标志定义
00102   * @brief    可与LL_LPTIM_ReadReg函数一起使用的标志定义
00103   * @{
00104   */
00105 #define LL_LPTIM_ISR_CMPM                     LPTIM_ISR_CMPM     /*!< 比较匹配 */
00106 #define LL_LPTIM_ISR_CMPOK                    LPTIM_ISR_CMPOK    /*!< 比较寄存器更新OK */
00107 #define LL_LPTIM_ISR_ARRM                     LPTIM_ISR_ARRM     /*!< 自动重载匹配 */
00108 #define LL_LPTIM_ISR_EXTTRIG                  LPTIM_ISR_EXTTRIG  /*!< 外部触发边沿事件 */
00109 #define LL_LPTIM_ISR_ARROK                    LPTIM_ISR_ARROK    /*!< 自动重载寄存器更新OK */
00110 #define LL_LPTIM_ISR_UP                       LPTIM_ISR_UP       /*!< 计数器方向从下往上变化 */
00111 #define LL_LPTIM_ISR_DOWN                     LPTIM_ISR_DOWN     /*!< 计数器方向从上往下变化 */
00112 /**
00113   * @}
00114   */
00115 
00116 /** @defgroup LPTIM_LL_EC_IT 中断定义
00117   * @brief    可与LL_LPTIM_ReadReg和LL_LPTIM_WriteReg函数一起使用的中断定义
00118   * @{
00119   */
00120 #define LL_LPTIM_IER_CMPMIE                   LPTIM_IER_CMPMIE     /*!< 比较匹配 */
00121 #define LL_LPTIM_IER_CMPOKIE                  LPTIM_IER_CMPOKIE    /*!< 比较寄存器更新OK */
00122 #define LL_LPTIM_IER_ARRMIE                   LPTIM_IER_ARRMIE     /*!< 自动重载匹配 */
00123 #define LL_LPTIM_IER_EXTTRIGIE                LPTIM_IER_EXTTRIGIE  /*!< 外部触发边沿事件 */
00124 #define LL_LPTIM_IER_ARROKIE                  LPTIM_IER_ARROKIE    /*!< 自动重载寄存器更新OK */
00125 #define LL_LPTIM_IER_UPIE                     LPTIM_IER_UPIE       /*!< 计数器方向从下往上变化 */
00126 #define LL_LPTIM_IER_DOWNIE                   LPTIM_IER_DOWNIE     /*!< 计数器方向从上往下变化 */
00127 /**
00128   * @}
00129   */
00130 
00131 /** @defgroup LPTIM_LL_EC_OPERATING_MODE 工作模式
00132   * @{
00133   */
00134 #define LL_LPTIM_OPERATING_MODE_CONTINUOUS    LPTIM_CR_CNTSTRT /*!<LP定时器以连续模式启动*/
00135 #define LL_LPTIM_OPERATING_MODE_ONESHOT       LPTIM_CR_SNGSTRT /*!<LP定时器以单次模式启动*/
00136 /**
00137   * @}
00138   */
00139 
00140 /** @defgroup LPTIM_LL_EC_UPDATE_MODE 更新模式
00141   * @{
00142   */
00143 #define LL_LPTIM_UPDATE_MODE_IMMEDIATE        0x00000000U        /*!<禁用预装载:每次APB总线写访问后寄存器更新*/
00144 #define LL_LPTIM_UPDATE_MODE_ENDOFPERIOD      LPTIM_CFGR_PRELOAD /*!<启用预装载:在当前LPTIM周期结束时寄存器更新*/
00145 /**
00146   * @}
00147   */
00148 
00149 /** @defgroup LPTIM_LL_EC_COUNTER_MODE 计数器模式
00150   * @{
00151   */
00152 #define LL_LPTIM_COUNTER_MODE_INTERNAL        0x00000000U          /*!<计数器在每个内部时钟脉冲后递增*/
00153 #define LL_LPTIM_COUNTER_MODE_EXTERNAL        LPTIM_CFGR_COUNTMODE /*!<计数器在LPTIM外部输入1的每个有效时钟脉冲后递增*/
00154 /**
00155   * @}
00156   */
00157 
00158 /** @defgroup LPTIM_LL_EC_OUTPUT_WAVEFORM 输出波形类型
00159   * @{
00160   */
00161 #define LL_LPTIM_OUTPUT_WAVEFORM_PWM          0x00000000U     /*!<LPTIM根据所选工作模式(连续或单次)生成PWM波形或单脉冲波形*/
00162 #define LL_LPTIM_OUTPUT_WAVEFORM_SETONCE      LPTIM_CFGR_WAVE /*!<LPTIM生成一次置位波形*/
00163 /**
00164   * @}
00165   */
00166 
00167 /** @defgroup LPTIM_LL_EC_OUTPUT_POLARITY 输出极性
00168   * @{
00169   */
00170 #define LL_LPTIM_OUTPUT_POLARITY_REGULAR      0x00000000U             /*!<LPTIM输出反映LPTIMx_ARR和LPTIMx_CMP寄存器之间的比较结果*/
00171 #define LL_LPTIM_OUTPUT_POLARITY_INVERSE      LPTIM_CFGR_WAVPOL       /*!<LPTIM输出反映LPTIMx_ARR和LPTIMx_CMP寄存器之间比较结果的取反*/
00172 /**
00173   * @}
00174   */
00175 
00176 /** @defgroup LPTIM_LL_EC_PRESCALER 预分频器值
00177   * @{
00178   */