STM32G474xx HAL 用户手册
stm32g4xx_hal_dac_ex.h
转到此文件的文档。
00001 /**
00002   ******************************************************************************
00003   * @file    stm32g4xx_hal_dac_ex.h
00004   * @author  MCD Application Team
00005   * @brief   DAC HAL扩展模块的头文件。
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_HAL_DAC_EX_H
00021 #define STM32G4xx_HAL_DAC_EX_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /** @addtogroup STM32G4xx_HAL_Driver
00028   * @{
00029   */
00030 
00031 /* Includes ------------------------------------------------------------------*/
00032 #include "stm32g4xx_hal_def.h"
00033 
00034 #if defined(DAC1) || defined(DAC2) || defined(DAC3) ||defined (DAC4)
00035 
00036 /** @addtogroup DACEx
00037   * @{
00038   */
00039 
00040 /* Exported types ------------------------------------------------------------*/
00041 
00042 /**
00043   * @brief  HAL状态结构定义
00044   */
00045 
00046 /* Exported constants --------------------------------------------------------*/
00047 
00048 /** @defgroup DACEx_Exported_Constants DACEx 导出常量
00049   * @{
00050   */
00051 
00052 /** @defgroup DACEx_lfsrunmask_triangleamplitude DACEx LFSR掩码三角波幅度
00053   * @{
00054   */
00055 #define DAC_LFSRUNMASK_BIT0                0x00000000UL                                                        /*!< 取消掩码DAC通道LFSR位0用于噪声波生成 */
00056 #define DAC_LFSRUNMASK_BITS1_0             (                                                   DAC_CR_MAMP1_0) /*!< 取消掩码DAC通道LFSR位[1:0]用于噪声波生成 */
00057 #define DAC_LFSRUNMASK_BITS2_0             (                                  DAC_CR_MAMP1_1                 ) /*!< 取消掩码DAC通道LFSR位[2:0]用于噪声波生成 */
00058 #define DAC_LFSRUNMASK_BITS3_0             (                                  DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< 取消掩码DAC通道LFSR位[3:0]用于噪声波生成 */
00059 #define DAC_LFSRUNMASK_BITS4_0             (                 DAC_CR_MAMP1_2                                  ) /*!< 取消掩码DAC通道LFSR位[4:0]用于噪声波生成 */
00060 #define DAC_LFSRUNMASK_BITS5_0             (                 DAC_CR_MAMP1_2                  | DAC_CR_MAMP1_0) /*!< 取消掩码DAC通道LFSR位[5:0]用于噪声波生成 */
00061 #define DAC_LFSRUNMASK_BITS6_0             (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1                 ) /*!< 取消掩码DAC通道LFSR位[6:0]用于噪声波生成 */
00062 #define DAC_LFSRUNMASK_BITS7_0             (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< 取消掩码DAC通道LFSR位[7:0]用于噪声波生成 */
00063 #define DAC_LFSRUNMASK_BITS8_0             (DAC_CR_MAMP1_3                                                   ) /*!< 取消掩码DAC通道LFSR位[8:0]用于噪声波生成 */
00064 #define DAC_LFSRUNMASK_BITS9_0             (DAC_CR_MAMP1_3                                   | DAC_CR_MAMP1_0) /*!< 取消掩码DAC通道LFSR位[9:0]用于噪声波生成 */
00065 #define DAC_LFSRUNMASK_BITS10_0            (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1                 ) /*!< 取消掩码DAC通道LFSR位[10:0]用于噪声波生成 */
00066 #define DAC_LFSRUNMASK_BITS11_0            (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< 取消掩码DAC通道LFSR位[11:0]用于噪声波生成 */
00067 #define DAC_TRIANGLEAMPLITUDE_1            0x00000000UL                                                        /*!< 选择最大三角波幅度为1 */
00068 #define DAC_TRIANGLEAMPLITUDE_3            (                                                   DAC_CR_MAMP1_0) /*!< 选择最大三角波幅度为3 */
00069 #define DAC_TRIANGLEAMPLITUDE_7            (                                  DAC_CR_MAMP1_1                 ) /*!< 选择最大三角波幅度为7 */
00070 #define DAC_TRIANGLEAMPLITUDE_15           (                                  DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< 选择最大三角波幅度为15 */
00071 #define DAC_TRIANGLEAMPLITUDE_31           (                 DAC_CR_MAMP1_2                                  ) /*!< 选择最大三角波幅度为31 */
00072 #define DAC_TRIANGLEAMPLITUDE_63           (                 DAC_CR_MAMP1_2                  | DAC_CR_MAMP1_0) /*!< 选择最大三角波幅度为63 */
00073 #define DAC_TRIANGLEAMPLITUDE_127          (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1                 ) /*!< 选择最大三角波幅度为127 */
00074 #define DAC_TRIANGLEAMPLITUDE_255          (                 DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< 选择最大三角波幅度为255 */
00075 #define DAC_TRIANGLEAMPLITUDE_511          (DAC_CR_MAMP1_3                                                   ) /*!< 选择最大三角波幅度为511 */
00076 #define DAC_TRIANGLEAMPLITUDE_1023         (DAC_CR_MAMP1_3                                   | DAC_CR_MAMP1_0) /*!< 选择最大三角波幅度为1023 */
00077 #define DAC_TRIANGLEAMPLITUDE_2047         (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1                 ) /*!< 选择最大三角波幅度为2047 */
00078 #define DAC_TRIANGLEAMPLITUDE_4095         (DAC_CR_MAMP1_3                  | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0) /*!< 选择最大三角波幅度为4095 */
00079 
00080 /**
00081   * @}
00082   */
00083 
00084 /** @defgroup DACEx_SawtoothPolarityMode DAC 锯齿波极性模式
00085   * @{
00086   */
00087 #define DAC_SAWTOOTH_POLARITY_DECREMENT        0x00000000UL            /*!< 锯齿波生成,极性为递减 */
00088 #define DAC_SAWTOOTH_POLARITY_INCREMENT        (DAC_STR1_STDIR1)       /*!< 锯齿波生成,极性为递增 */
00089 
00090 /**
00091   * @}
00092   */
00093 
00094 /**
00095   * @}
00096   */
00097 
00098 /* Exported macro ------------------------------------------------------------*/
00099 
00100 
00101 /* Private macro -------------------------------------------------------------*/
00102 
00103 /** @defgroup DACEx_Private_Macros DACEx 私有宏
00104   * @{
00105   */
00106 #if defined(STM32G414xx) || defined(STM32G474xx) || defined(STM32G484xx)
00107 #define IS_DAC_TRIGGER(DACX, TRIGGER) \
00108   (((TRIGGER) == DAC_TRIGGER_NONE)           || \
00109    ((TRIGGER) == DAC_TRIGGER_SOFTWARE)       || \
00110    ((TRIGGER) == DAC_TRIGGER_T7_TRGO)        || \
00111    ((TRIGGER) == DAC_TRIGGER_T15_TRGO)       || \
00112    ((TRIGGER) == DAC_TRIGGER_T2_TRGO)        || \
00113    ((TRIGGER) == DAC_TRIGGER_T4_TRGO)        || \
00114    ((TRIGGER) == DAC_TRIGGER_EXT_IT9)        || \
00115    ((TRIGGER) == DAC_TRIGGER_T6_TRGO)        || \
00116    ((TRIGGER) == DAC_TRIGGER_T3_TRGO)        || \
00117    ((TRIGGER) == DAC_TRIGGER_HRTIM_RST_TRG1) || \
00118    ((TRIGGER) == DAC_TRIGGER_HRTIM_RST_TRG2) || \
00119    ((TRIGGER) == DAC_TRIGGER_HRTIM_RST_TRG3) || \
00120    ((TRIGGER) == DAC_TRIGGER_HRTIM_RST_TRG4) || \
00121    ((TRIGGER) == DAC_TRIGGER_HRTIM_RST_TRG5) || \
00122    ((TRIGGER) == DAC_TRIGGER_HRTIM_RST_TRG6) || \
00123    (((DACX) == DAC1) &&                         \
00124     (((TRIGGER) == DAC_TRIGGER_T8_TRGO)      || \
00125      ((TRIGGER) == DAC_TRIGGER_HRTIM_TRG