|
STM32G474xx HAL 用户手册
|
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