stm32f3xx_hal_dac_ex.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. /**
  2. ******************************************************************************
  3. * @file stm32f3xx_hal_dac_ex.h
  4. * @author MCD Application Team
  5. * @brief Header file of DAC HAL Extended module.
  6. ******************************************************************************
  7. * @attention
  8. *
  9. * Copyright (c) 2016 STMicroelectronics.
  10. * All rights reserved.
  11. *
  12. * This software is licensed under terms that can be found in the LICENSE file
  13. * in the root directory of this software component.
  14. * If no LICENSE file comes with this software, it is provided AS-IS.
  15. *
  16. ******************************************************************************
  17. */
  18. /* Define to prevent recursive inclusion -------------------------------------*/
  19. #ifndef STM32F3xx_HAL_DAC_EX_H
  20. #define STM32F3xx_HAL_DAC_EX_H
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. /* Includes ------------------------------------------------------------------*/
  25. #include "stm32f3xx_hal_def.h"
  26. /** @addtogroup STM32F3xx_HAL_Driver
  27. * @{
  28. */
  29. /** @addtogroup DACEx
  30. * @{
  31. */
  32. /* Exported types ------------------------------------------------------------*/
  33. /* Exported constants --------------------------------------------------------*/
  34. /** @defgroup DACEx_Exported_Constants DACEx Exported Constants
  35. * @{
  36. */
  37. /** @defgroup DACEx_trigger_selection DACEx trigger selection
  38. * @{
  39. */
  40. #if defined(STM32F301x8) || defined(STM32F318xx)
  41. #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
  42. has been loaded, and not by external trigger */
  43. #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
  44. #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
  45. #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
  46. #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
  47. #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
  48. #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
  49. ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
  50. ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
  51. ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
  52. ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
  53. ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
  54. #endif /* STM32F301x8 || STM32F318xx */
  55. #if defined(STM32F302xE) || \
  56. defined(STM32F302xC) || \
  57. defined(STM32F302x8)
  58. #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
  59. has been loaded, and not by external trigger */
  60. #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
  61. #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
  62. #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
  63. #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
  64. #define DAC_TRIGGER_T4_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */
  65. #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
  66. #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
  67. #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
  68. ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
  69. ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
  70. ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
  71. ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
  72. ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
  73. ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
  74. ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
  75. #endif /* STM32F302xE || */
  76. /* STM32F302xC || */
  77. /* STM32F302x8 */
  78. #if defined(STM32F303xE) || defined(STM32F398xx) || \
  79. defined(STM32F303xC) || defined(STM32F358xx)
  80. #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
  81. has been loaded, and not by external trigger */
  82. #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
  83. #define DAC_TRIGGER_T4_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */
  84. #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
  85. #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
  86. #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
  87. #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel
  88. Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG) for TIM3 selection */
  89. #define DAC_TRIGGER_T8_TRGO DAC_TRIGGER_T3_TRGO /*!< TIM8 TRGO selected as external conversion trigger for DAC channel
  90. Use __HAL_REMAPTRIGGER_DISABLE(HAL_REMAPTRIGGER_DAC1_TRIG) for TIM8 selection */
  91. #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
  92. #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
  93. #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
  94. ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
  95. ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
  96. ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
  97. ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
  98. ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
  99. ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
  100. ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
  101. ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
  102. #endif /* STM32F303xE || STM32F398xx || */
  103. /* STM32F303xC || STM32F358xx */
  104. #if defined(STM32F303x8) || defined(STM32F328xx)
  105. #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
  106. has been loaded, and not by external trigger */
  107. #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
  108. #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel */
  109. #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
  110. #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
  111. #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
  112. #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
  113. #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
  114. #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
  115. ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
  116. ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
  117. ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
  118. ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
  119. ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
  120. ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
  121. ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
  122. #endif /* STM32F303x8 || STM32F328xx */
  123. #if defined(STM32F373xC) || defined(STM32F378xx)
  124. #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
  125. has been loaded, and not by external trigger */
  126. #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
  127. #define DAC_TRIGGER_T4_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM4 TRGO selected as external conversion trigger for DAC channel */
  128. #define DAC_TRIGGER_T5_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM5 TRGO selected as external conversion trigger for DAC channel (DAC1) */
  129. #define DAC_TRIGGER_T18_TRGO DAC_TRIGGER_T5_TRGO /*!< TIM18 TRGO selected as external conversion trigger for DAC channel (DAC2) */
  130. #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
  131. #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
  132. #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel */
  133. #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
  134. #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
  135. #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
  136. ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
  137. ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
  138. ((TRIGGER) == DAC_TRIGGER_T4_TRGO) || \
  139. ((TRIGGER) == DAC_TRIGGER_T5_TRGO) || \
  140. ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
  141. ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
  142. ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
  143. ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
  144. #endif /* STM32F373xC || STM32F378xx */
  145. #if defined(STM32F334x8)
  146. #define DAC_TRIGGER_NONE (0x00000000U) /*!< Conversion is automatic once the DAC1_DHRxxxx register
  147. has been loaded, and not by external trigger */
  148. #define DAC_TRIGGER_T6_TRGO ((uint32_t)DAC_CR_TEN1) /*!< TIM6 TRGO selected as external conversion trigger for DAC channel */
  149. #define DAC_TRIGGER_T3_TRGO ((uint32_t)(DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM3 TRGO selected as external conversion trigger for DAC channel
  150. Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG) for TIM3 remap */
  151. #define DAC_TRIGGER_T7_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< TIM7 TRGO selected as external conversion trigger for DAC channel */
  152. #define DAC_TRIGGER_T2_TRGO ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TEN1)) /*!< TIM2 TRGO selected as external conversion trigger for DAC channel */
  153. #define DAC_TRIGGER_T15_TRGO ((uint32_t)(DAC_CR_TSEL1_1 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< TIM15 TRGO selected as external conversion trigger for DAC channel
  154. Use __HAL_REMAPTRIGGER_DISABLE(HAL_REMAPTRIGGER_DAC1_TRIG3) for TIM15 selection */
  155. #define DAC_TRIGGER_HRTIM1_DACTRG1 DAC_TRIGGER_T15_TRGO /*!< HRTIM1 DACTRG1 selected as external conversion trigger for DAC
  156. Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG3) for HRTIM1 DACTRG1 selection */
  157. #define DAC_TRIGGER_HRTIM1_DACTRG2 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_0 | DAC_CR_TEN1)) /*!< HRTIM1 DACTRG2 selected as external conversion trigger for DAC channel (DAC1)
  158. Use __HAL_REMAPTRIGGER_ENABLE(HAL_REMAPTRIGGER_DAC1_TRIG5) for HRTIM1 DACTRG2 remap */
  159. #define DAC_TRIGGER_HRTIM1_DACTRG3 DAC_TRIGGER_HRTIM1_DACTRG2 /*!< HRTIM1 DACTRG3 selected as external conversion trigger for DAC channel (DAC2)*/
  160. #define DAC_TRIGGER_EXT_IT9 ((uint32_t)(DAC_CR_TSEL1_2 | DAC_CR_TSEL1_1 | DAC_CR_TEN1)) /*!< EXTI Line9 event selected as external conversion trigger for DAC channel */
  161. #define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
  162. #define IS_DAC_TRIGGER(TRIGGER) (((TRIGGER) == DAC_TRIGGER_NONE) || \
  163. ((TRIGGER) == DAC_TRIGGER_T6_TRGO) || \
  164. ((TRIGGER) == DAC_TRIGGER_T3_TRGO) || \
  165. ((TRIGGER) == DAC_TRIGGER_T7_TRGO) || \
  166. ((TRIGGER) == DAC_TRIGGER_T15_TRGO) || \
  167. ((TRIGGER) == DAC_TRIGGER_T2_TRGO) || \
  168. ((TRIGGER) == DAC_TRIGGER_HRTIM1_DACTRG2) || \
  169. ((TRIGGER) == DAC_TRIGGER_EXT_IT9) || \
  170. ((TRIGGER) == DAC_TRIGGER_SOFTWARE))
  171. #endif /* STM32F334x8 */
  172. /**
  173. * @}
  174. */
  175. /** @defgroup DACEx_Channel_selection DACEx Channel selection
  176. * @{
  177. */
  178. #if defined(STM32F302xE) || \
  179. defined(STM32F302xC) || \
  180. defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
  181. #define DAC_CHANNEL_1 (0x00000000U) /*!< DAC Channel 1U */
  182. #endif /* STM32F302xE || */
  183. /* STM32F302xC || */
  184. /* STM32F301x8 || STM32F302x8 || STM32F318xx */
  185. #if defined(STM32F303xE) || defined(STM32F398xx) || \
  186. defined(STM32F303xC) || defined(STM32F358xx)
  187. #define DAC_CHANNEL_1 (0x00000000U) /*!< DAC Channel 1U */
  188. #define DAC_CHANNEL_2 (0x00000010U) /*!< DAC Channel 2U */
  189. #endif /* STM32F303xE || STM32F398xx || */
  190. /* STM32F303xC || STM32F358xx */
  191. #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
  192. defined(STM32F373xC) || defined(STM32F378xx)
  193. #define DAC_CHANNEL_1 (0x00000000U) /*!< DAC Channel 1U */
  194. #define DAC_CHANNEL_2 (0x00000010U) /*!< DAC Channel 2U */
  195. #endif /* STM32F303x8 || STM32F334x8 || STM32F328xx || */
  196. /* STM32F373xC || STM32F378xx */
  197. /**
  198. * @}
  199. */
  200. /**
  201. * @}
  202. */
  203. /* Private macro -------------------------------------------------------------*/
  204. /** @defgroup DACEx_Private_Macros DACEx Private Macros
  205. * @{
  206. */
  207. #if defined(STM32F302xE) || \
  208. defined(STM32F302xC) || \
  209. defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
  210. #define IS_DAC_CHANNEL(CHANNEL) ((CHANNEL) == DAC_CHANNEL_1)
  211. #endif /* STM32F302xE || */
  212. /* STM32F302xC || */
  213. /* STM32F301x8 || STM32F302x8 || STM32F318xx */
  214. #if defined(STM32F303xE) || defined(STM32F398xx) || \
  215. defined(STM32F303xC) || defined(STM32F358xx)
  216. #define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_CHANNEL_1) || \
  217. ((CHANNEL) == DAC_CHANNEL_2))
  218. #endif /* STM32F303xE || STM32F398xx || */
  219. /* STM32F303xC || STM32F358xx */
  220. #if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
  221. defined(STM32F373xC) || defined(STM32F378xx)
  222. #define IS_DAC_CHANNEL(CHANNEL) (((CHANNEL) == DAC_CHANNEL_1) || \
  223. ((CHANNEL) == DAC_CHANNEL_2))
  224. #endif /* STM32F303x8 || STM32F334x8 || STM32F328xx || */
  225. /* STM32F373xC || STM32F378xx */
  226. /**
  227. * @}
  228. */
  229. /* Exported functions --------------------------------------------------------*/
  230. /** @addtogroup DACEx_Exported_Functions
  231. * @{
  232. */
  233. /** @addtogroup DACEx_Exported_Functions_Group2
  234. * @{
  235. */
  236. /* IO operation functions *****************************************************/
  237. uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
  238. HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
  239. HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
  240. HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
  241. #if defined(STM32F303xE) || defined(STM32F398xx) || \
  242. defined(STM32F303xC) || defined(STM32F358xx) || \
  243. defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
  244. defined(STM32F373xC) || defined(STM32F378xx)
  245. void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
  246. void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
  247. void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac);
  248. void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac);
  249. #endif /* STM32F303xE || STM32F398xx || */
  250. /* STM32F303xC || STM32F358xx || */
  251. /* STM32F303x8 || STM32F334x8 || STM32F328xx || */
  252. /* STM32F373xC || STM32F378xx */
  253. /**
  254. * @}
  255. */
  256. /**
  257. * @}
  258. */
  259. /**
  260. * @}
  261. */
  262. /**
  263. * @}
  264. */
  265. #ifdef __cplusplus
  266. }
  267. #endif
  268. #endif /* STM32F3xx_HAL_HAL_EX_H */