You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

690 lines
32 KiB

  1. /**
  2. ******************************************************************************
  3. * @file stm32wbxx_hal.h
  4. * @author MCD Application Team
  5. * @brief This file contains all the functions prototypes for the HAL
  6. * module driver.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
  11. * All rights reserved.</center></h2>
  12. *
  13. * This software component is licensed by ST under BSD 3-Clause license,
  14. * the "License"; You may not use this file except in compliance with the
  15. * License. You may obtain a copy of the License at:
  16. * opensource.org/licenses/BSD-3-Clause
  17. *
  18. ******************************************************************************
  19. */
  20. /* Define to prevent recursive inclusion -------------------------------------*/
  21. #ifndef STM32WBxx_HAL_H
  22. #define STM32WBxx_HAL_H
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Includes ------------------------------------------------------------------*/
  27. #include "stm32wbxx_hal_conf.h"
  28. #include "stm32wbxx_ll_system.h"
  29. /** @addtogroup STM32WBxx_HAL_Driver
  30. * @{
  31. */
  32. /** @defgroup HAL HAL
  33. * @{
  34. */
  35. /** @defgroup HAL_TICK_FREQ Tick Frequency
  36. * @{
  37. */
  38. typedef enum
  39. {
  40. HAL_TICK_FREQ_10HZ = 100U,
  41. HAL_TICK_FREQ_100HZ = 10U,
  42. HAL_TICK_FREQ_1KHZ = 1U,
  43. HAL_TICK_FREQ_DEFAULT = HAL_TICK_FREQ_1KHZ
  44. } HAL_TickFreqTypeDef;
  45. /**
  46. * @}
  47. */
  48. /* Exported constants --------------------------------------------------------*/
  49. /** @defgroup HAL_Exported_Constants HAL Exported Constants
  50. * @{
  51. */
  52. /** @defgroup SYSCFG_Exported_Constants SYSCFG Exported Constants
  53. * @{
  54. */
  55. /** @defgroup SYSCFG_BootMode BOOT Mode
  56. * @{
  57. */
  58. #define SYSCFG_BOOT_MAINFLASH LL_SYSCFG_REMAP_FLASH /*!< Main Flash memory mapped at 0x00000000 */
  59. #define SYSCFG_BOOT_SYSTEMFLASH LL_SYSCFG_REMAP_SYSTEMFLASH /*!< System Flash memory mapped at 0x00000000 */
  60. #define SYSCFG_BOOT_SRAM LL_SYSCFG_REMAP_SRAM /*!< SRAM1 mapped at 0x00000000 */
  61. #if defined(LL_SYSCFG_REMAP_QUADSPI)
  62. #define SYSCFG_BOOT_QUADSPI LL_SYSCFG_REMAP_QUADSPI /*!< QUADSPI memory mapped at 0x00000000 */
  63. #endif
  64. /**
  65. * @}
  66. */
  67. /** @defgroup SYSCFG_FPU_Interrupts FPU Interrupts
  68. * @{
  69. */
  70. #define SYSCFG_IT_FPU_IOC SYSCFG_CFGR1_FPU_IE_0 /*!< Floating Point Unit Invalid operation Interrupt */
  71. #define SYSCFG_IT_FPU_DZC SYSCFG_CFGR1_FPU_IE_1 /*!< Floating Point Unit Divide-by-zero Interrupt */
  72. #define SYSCFG_IT_FPU_UFC SYSCFG_CFGR1_FPU_IE_2 /*!< Floating Point Unit Underflow Interrupt */
  73. #define SYSCFG_IT_FPU_OFC SYSCFG_CFGR1_FPU_IE_3 /*!< Floating Point Unit Overflow Interrupt */
  74. #define SYSCFG_IT_FPU_IDC SYSCFG_CFGR1_FPU_IE_4 /*!< Floating Point Unit Input denormal Interrupt */
  75. #define SYSCFG_IT_FPU_IXC SYSCFG_CFGR1_FPU_IE_5 /*!< Floating Point Unit Inexact Interrupt */
  76. /**
  77. * @}
  78. */
  79. /** @defgroup SYSCFG_SRAM2WRP SRAM2 Page Write protection (0 to 31)
  80. * @{
  81. */
  82. #define SYSCFG_SRAM2WRP_PAGE0 LL_SYSCFG_SRAM2WRP_PAGE0 /*!< SRAM2A Write protection page 0 */
  83. #define SYSCFG_SRAM2WRP_PAGE1 LL_SYSCFG_SRAM2WRP_PAGE1 /*!< SRAM2A Write protection page 1 */
  84. #define SYSCFG_SRAM2WRP_PAGE2 LL_SYSCFG_SRAM2WRP_PAGE2 /*!< SRAM2A Write protection page 2 */
  85. #define SYSCFG_SRAM2WRP_PAGE3 LL_SYSCFG_SRAM2WRP_PAGE3 /*!< SRAM2A Write protection page 3 */
  86. #define SYSCFG_SRAM2WRP_PAGE4 LL_SYSCFG_SRAM2WRP_PAGE4 /*!< SRAM2A Write protection page 4 */
  87. #define SYSCFG_SRAM2WRP_PAGE5 LL_SYSCFG_SRAM2WRP_PAGE5 /*!< SRAM2A Write protection page 5 */
  88. #define SYSCFG_SRAM2WRP_PAGE6 LL_SYSCFG_SRAM2WRP_PAGE6 /*!< SRAM2A Write protection page 6 */
  89. #define SYSCFG_SRAM2WRP_PAGE7 LL_SYSCFG_SRAM2WRP_PAGE7 /*!< SRAM2A Write protection page 7 */
  90. #define SYSCFG_SRAM2WRP_PAGE8 LL_SYSCFG_SRAM2WRP_PAGE8 /*!< SRAM2A Write protection page 8 */
  91. #define SYSCFG_SRAM2WRP_PAGE9 LL_SYSCFG_SRAM2WRP_PAGE9 /*!< SRAM2A Write protection page 9 */
  92. #define SYSCFG_SRAM2WRP_PAGE10 LL_SYSCFG_SRAM2WRP_PAGE10 /*!< SRAM2A Write protection page 10 */
  93. #define SYSCFG_SRAM2WRP_PAGE11 LL_SYSCFG_SRAM2WRP_PAGE11 /*!< SRAM2A Write protection page 11 */
  94. #define SYSCFG_SRAM2WRP_PAGE12 LL_SYSCFG_SRAM2WRP_PAGE12 /*!< SRAM2A Write protection page 12 */
  95. #define SYSCFG_SRAM2WRP_PAGE13 LL_SYSCFG_SRAM2WRP_PAGE13 /*!< SRAM2A Write protection page 13 */
  96. #define SYSCFG_SRAM2WRP_PAGE14 LL_SYSCFG_SRAM2WRP_PAGE14 /*!< SRAM2A Write protection page 14 */
  97. #define SYSCFG_SRAM2WRP_PAGE15 LL_SYSCFG_SRAM2WRP_PAGE15 /*!< SRAM2A Write protection page 15 */
  98. #define SYSCFG_SRAM2WRP_PAGE16 LL_SYSCFG_SRAM2WRP_PAGE16 /*!< SRAM2A Write protection page 16 */
  99. #define SYSCFG_SRAM2WRP_PAGE17 LL_SYSCFG_SRAM2WRP_PAGE17 /*!< SRAM2A Write protection page 17 */
  100. #define SYSCFG_SRAM2WRP_PAGE18 LL_SYSCFG_SRAM2WRP_PAGE18 /*!< SRAM2A Write protection page 18 */
  101. #define SYSCFG_SRAM2WRP_PAGE19 LL_SYSCFG_SRAM2WRP_PAGE19 /*!< SRAM2A Write protection page 19 */
  102. #define SYSCFG_SRAM2WRP_PAGE20 LL_SYSCFG_SRAM2WRP_PAGE20 /*!< SRAM2A Write protection page 20 */
  103. #define SYSCFG_SRAM2WRP_PAGE21 LL_SYSCFG_SRAM2WRP_PAGE21 /*!< SRAM2A Write protection page 21 */
  104. #define SYSCFG_SRAM2WRP_PAGE22 LL_SYSCFG_SRAM2WRP_PAGE22 /*!< SRAM2A Write protection page 22 */
  105. #define SYSCFG_SRAM2WRP_PAGE23 LL_SYSCFG_SRAM2WRP_PAGE23 /*!< SRAM2A Write protection page 23 */
  106. #define SYSCFG_SRAM2WRP_PAGE24 LL_SYSCFG_SRAM2WRP_PAGE24 /*!< SRAM2A Write protection page 24 */
  107. #define SYSCFG_SRAM2WRP_PAGE25 LL_SYSCFG_SRAM2WRP_PAGE25 /*!< SRAM2A Write protection page 25 */
  108. #define SYSCFG_SRAM2WRP_PAGE26 LL_SYSCFG_SRAM2WRP_PAGE26 /*!< SRAM2A Write protection page 26 */
  109. #define SYSCFG_SRAM2WRP_PAGE27 LL_SYSCFG_SRAM2WRP_PAGE27 /*!< SRAM2A Write protection page 27 */
  110. #define SYSCFG_SRAM2WRP_PAGE28 LL_SYSCFG_SRAM2WRP_PAGE28 /*!< SRAM2A Write protection page 28 */
  111. #define SYSCFG_SRAM2WRP_PAGE29 LL_SYSCFG_SRAM2WRP_PAGE29 /*!< SRAM2A Write protection page 29 */
  112. #define SYSCFG_SRAM2WRP_PAGE30 LL_SYSCFG_SRAM2WRP_PAGE30 /*!< SRAM2A Write protection page 30 */
  113. #define SYSCFG_SRAM2WRP_PAGE31 LL_SYSCFG_SRAM2WRP_PAGE31 /*!< SRAM2A Write protection page 31 */
  114. /**
  115. * @}
  116. */
  117. /** @defgroup SYSCFG_SRAM2WRP_32_63 SRAM2 Page Write protection (32 to 63)
  118. * @{
  119. */
  120. #define SYSCFG_SRAM2WRP_PAGE32 LL_SYSCFG_SRAM2WRP_PAGE32 /*!< SRAM2B Write protection page 32 */
  121. #define SYSCFG_SRAM2WRP_PAGE33 LL_SYSCFG_SRAM2WRP_PAGE33 /*!< SRAM2B Write protection page 33 */
  122. #define SYSCFG_SRAM2WRP_PAGE34 LL_SYSCFG_SRAM2WRP_PAGE34 /*!< SRAM2B Write protection page 34 */
  123. #define SYSCFG_SRAM2WRP_PAGE35 LL_SYSCFG_SRAM2WRP_PAGE35 /*!< SRAM2B Write protection page 35 */
  124. #define SYSCFG_SRAM2WRP_PAGE36 LL_SYSCFG_SRAM2WRP_PAGE36 /*!< SRAM2B Write protection page 36 */
  125. #define SYSCFG_SRAM2WRP_PAGE37 LL_SYSCFG_SRAM2WRP_PAGE37 /*!< SRAM2B Write protection page 37 */
  126. #define SYSCFG_SRAM2WRP_PAGE38 LL_SYSCFG_SRAM2WRP_PAGE38 /*!< SRAM2B Write protection page 38 */
  127. #define SYSCFG_SRAM2WRP_PAGE39 LL_SYSCFG_SRAM2WRP_PAGE39 /*!< SRAM2B Write protection page 39 */
  128. #define SYSCFG_SRAM2WRP_PAGE40 LL_SYSCFG_SRAM2WRP_PAGE40 /*!< SRAM2B Write protection page 40 */
  129. #define SYSCFG_SRAM2WRP_PAGE41 LL_SYSCFG_SRAM2WRP_PAGE41 /*!< SRAM2B Write protection page 41 */
  130. #define SYSCFG_SRAM2WRP_PAGE42 LL_SYSCFG_SRAM2WRP_PAGE42 /*!< SRAM2B Write protection page 42 */
  131. #define SYSCFG_SRAM2WRP_PAGE43 LL_SYSCFG_SRAM2WRP_PAGE43 /*!< SRAM2B Write protection page 43 */
  132. #define SYSCFG_SRAM2WRP_PAGE44 LL_SYSCFG_SRAM2WRP_PAGE44 /*!< SRAM2B Write protection page 44 */
  133. #define SYSCFG_SRAM2WRP_PAGE45 LL_SYSCFG_SRAM2WRP_PAGE45 /*!< SRAM2B Write protection page 45 */
  134. #define SYSCFG_SRAM2WRP_PAGE46 LL_SYSCFG_SRAM2WRP_PAGE46 /*!< SRAM2B Write protection page 46 */
  135. #define SYSCFG_SRAM2WRP_PAGE47 LL_SYSCFG_SRAM2WRP_PAGE47 /*!< SRAM2B Write protection page 47 */
  136. #define SYSCFG_SRAM2WRP_PAGE48 LL_SYSCFG_SRAM2WRP_PAGE48 /*!< SRAM2B Write protection page 48 */
  137. #define SYSCFG_SRAM2WRP_PAGE49 LL_SYSCFG_SRAM2WRP_PAGE49 /*!< SRAM2B Write protection page 49 */
  138. #define SYSCFG_SRAM2WRP_PAGE50 LL_SYSCFG_SRAM2WRP_PAGE50 /*!< SRAM2B Write protection page 50 */
  139. #define SYSCFG_SRAM2WRP_PAGE51 LL_SYSCFG_SRAM2WRP_PAGE51 /*!< SRAM2B Write protection page 51 */
  140. #define SYSCFG_SRAM2WRP_PAGE52 LL_SYSCFG_SRAM2WRP_PAGE52 /*!< SRAM2B Write protection page 52 */
  141. #define SYSCFG_SRAM2WRP_PAGE53 LL_SYSCFG_SRAM2WRP_PAGE53 /*!< SRAM2B Write protection page 53 */
  142. #define SYSCFG_SRAM2WRP_PAGE54 LL_SYSCFG_SRAM2WRP_PAGE54 /*!< SRAM2B Write protection page 54 */
  143. #define SYSCFG_SRAM2WRP_PAGE55 LL_SYSCFG_SRAM2WRP_PAGE55 /*!< SRAM2B Write protection page 55 */
  144. #define SYSCFG_SRAM2WRP_PAGE56 LL_SYSCFG_SRAM2WRP_PAGE56 /*!< SRAM2B Write protection page 56 */
  145. #define SYSCFG_SRAM2WRP_PAGE57 LL_SYSCFG_SRAM2WRP_PAGE57 /*!< SRAM2B Write protection page 57 */
  146. #define SYSCFG_SRAM2WRP_PAGE58 LL_SYSCFG_SRAM2WRP_PAGE58 /*!< SRAM2B Write protection page 58 */
  147. #define SYSCFG_SRAM2WRP_PAGE59 LL_SYSCFG_SRAM2WRP_PAGE59 /*!< SRAM2B Write protection page 59 */
  148. #define SYSCFG_SRAM2WRP_PAGE60 LL_SYSCFG_SRAM2WRP_PAGE60 /*!< SRAM2B Write protection page 60 */
  149. #define SYSCFG_SRAM2WRP_PAGE61 LL_SYSCFG_SRAM2WRP_PAGE61 /*!< SRAM2B Write protection page 61 */
  150. #define SYSCFG_SRAM2WRP_PAGE62 LL_SYSCFG_SRAM2WRP_PAGE62 /*!< SRAM2B Write protection page 62 */
  151. #define SYSCFG_SRAM2WRP_PAGE63 LL_SYSCFG_SRAM2WRP_PAGE63 /*!< SRAM2B Write protection page 63 */
  152. /**
  153. * @}
  154. */
  155. #if defined(VREFBUF)
  156. /** @defgroup SYSCFG_VREFBUF_VoltageScale VREFBUF Voltage Scale
  157. * @{
  158. */
  159. #define SYSCFG_VREFBUF_VOLTAGE_SCALE0 LL_VREFBUF_VOLTAGE_SCALE0 /*!< Voltage reference scale 0 (VREF_OUT1) */
  160. #define SYSCFG_VREFBUF_VOLTAGE_SCALE1 LL_VREFBUF_VOLTAGE_SCALE1 /*!< Voltage reference scale 1 (VREF_OUT2) */
  161. /**
  162. * @}
  163. */
  164. /** @defgroup SYSCFG_VREFBUF_HighImpedance VREFBUF High Impedance
  165. * @{
  166. */
  167. #define SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE 0x00000000U /*!< VREF_plus pin is internally connected to Voltage reference buffer output */
  168. #define SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE VREFBUF_CSR_HIZ /*!< VREF_plus pin is high impedance */
  169. /**
  170. * @}
  171. */
  172. #endif /* VREFBUF */
  173. /** @defgroup SYSCFG_SRAM_flags_definition SRAM Flags
  174. * @{
  175. */
  176. #define SYSCFG_FLAG_SRAM2_PE SYSCFG_CFGR2_SPF /*!< SRAM2 parity error */
  177. #define SYSCFG_FLAG_SRAM2_BUSY SYSCFG_SCSR_SRAM2BSY /*!< SRAM2 busy by erase operation */
  178. /**
  179. * @}
  180. */
  181. /** @defgroup SYSCFG_FastModePlus_GPIO Fast-mode Plus on GPIO
  182. * @{
  183. */
  184. /** @brief Fast-mode Plus driving capability on a specific GPIO
  185. */
  186. #define SYSCFG_FASTMODEPLUS_PB6 SYSCFG_CFGR1_I2C_PB6_FMP /*!< Enable Fast-mode Plus on PB6 */
  187. #define SYSCFG_FASTMODEPLUS_PB7 SYSCFG_CFGR1_I2C_PB7_FMP /*!< Enable Fast-mode Plus on PB7 */
  188. #define SYSCFG_FASTMODEPLUS_PB8 SYSCFG_CFGR1_I2C_PB8_FMP /*!< Enable Fast-mode Plus on PB8 */
  189. #define SYSCFG_FASTMODEPLUS_PB9 SYSCFG_CFGR1_I2C_PB9_FMP /*!< Enable Fast-mode Plus on PB9 */
  190. /**
  191. * @}
  192. */
  193. /** @defgroup Secure_IP_Write_Access Secure IP Write Access
  194. * @{
  195. */
  196. #if defined(LL_SYSCFG_SECURE_ACCESS_AES1)
  197. #define HAL_SYSCFG_SECURE_ACCESS_AES1 LL_SYSCFG_SECURE_ACCESS_AES1 /*!< Enabling the security access of Advanced Encryption Standard 1 KEY[7:0] */
  198. #endif
  199. #define HAL_SYSCFG_SECURE_ACCESS_AES2 LL_SYSCFG_SECURE_ACCESS_AES2 /*!< Enabling the security access of Advanced Encryption Standard 2 */
  200. #define HAL_SYSCFG_SECURE_ACCESS_PKA LL_SYSCFG_SECURE_ACCESS_PKA /*!< Enabling the security access of Public Key Accelerator */
  201. #define HAL_SYSCFG_SECURE_ACCESS_RNG LL_SYSCFG_SECURE_ACCESS_RNG /*!< Enabling the security access of Random Number Generator */
  202. /**
  203. * @}
  204. */
  205. /**
  206. * @}
  207. */
  208. /**
  209. * @}
  210. */
  211. /* Exported macros -----------------------------------------------------------*/
  212. /** @defgroup HAL_Exported_Macros HAL Exported Macros
  213. * @{
  214. */
  215. /** @defgroup DBGMCU_Exported_Macros DBGMCU Exported Macros
  216. * @{
  217. */
  218. /** @brief Freeze and Unfreeze Peripherals in Debug mode
  219. */
  220. /** @defgroup DBGMCU_APBx_GRPx_STOP_IP DBGMCU CPU1 APBx GRPx STOP IP
  221. * @{
  222. */
  223. #if defined(LL_DBGMCU_APB1_GRP1_TIM2_STOP)
  224. #define __HAL_DBGMCU_FREEZE_TIM2() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_TIM2_STOP)
  225. #define __HAL_DBGMCU_UNFREEZE_TIM2() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_TIM2_STOP)
  226. #endif
  227. #if defined(LL_DBGMCU_APB1_GRP1_RTC_STOP)
  228. #define __HAL_DBGMCU_FREEZE_RTC() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_RTC_STOP)
  229. #define __HAL_DBGMCU_UNFREEZE_RTC() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_RTC_STOP)
  230. #endif
  231. #if defined(LL_DBGMCU_APB1_GRP1_WWDG_STOP)
  232. #define __HAL_DBGMCU_FREEZE_WWDG() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_WWDG_STOP)
  233. #define __HAL_DBGMCU_UNFREEZE_WWDG() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_WWDG_STOP)
  234. #endif
  235. #if defined(LL_DBGMCU_APB1_GRP1_IWDG_STOP)
  236. #define __HAL_DBGMCU_FREEZE_IWDG() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_IWDG_STOP)
  237. #define __HAL_DBGMCU_UNFREEZE_IWDG() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_IWDG_STOP)
  238. #endif
  239. #if defined(LL_DBGMCU_APB1_GRP1_I2C1_STOP)
  240. #define __HAL_DBGMCU_FREEZE_I2C1_TIMEOUT() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_I2C1_STOP)
  241. #define __HAL_DBGMCU_UNFREEZE_I2C1_TIMEOUT() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_I2C1_STOP)
  242. #endif
  243. #if defined(LL_DBGMCU_APB1_GRP1_I2C3_STOP)
  244. #define __HAL_DBGMCU_FREEZE_I2C3_TIMEOUT() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_I2C3_STOP)
  245. #define __HAL_DBGMCU_UNFREEZE_I2C3_TIMEOUT() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_I2C3_STOP)
  246. #endif
  247. #if defined(LL_DBGMCU_APB1_GRP1_LPTIM1_STOP)
  248. #define __HAL_DBGMCU_FREEZE_LPTIM1() LL_DBGMCU_APB1_GRP1_FreezePeriph(LL_DBGMCU_APB1_GRP1_LPTIM1_STOP)
  249. #define __HAL_DBGMCU_UNFREEZE_LPTIM1() LL_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_DBGMCU_APB1_GRP1_LPTIM1_STOP)
  250. #endif
  251. #if defined(LL_DBGMCU_APB1_GRP2_LPTIM2_STOP)
  252. #define __HAL_DBGMCU_FREEZE_LPTIM2() LL_DBGMCU_APB1_GRP2_FreezePeriph(LL_DBGMCU_APB1_GRP2_LPTIM2_STOP)
  253. #define __HAL_DBGMCU_UNFREEZE_LPTIM2() LL_DBGMCU_APB1_GRP2_UnFreezePeriph(LL_DBGMCU_APB1_GRP2_LPTIM2_STOP)
  254. #endif
  255. #if defined(LL_DBGMCU_APB2_GRP1_TIM1_STOP)
  256. #define __HAL_DBGMCU_FREEZE_TIM1() LL_DBGMCU_APB2_GRP1_FreezePeriph(LL_DBGMCU_APB2_GRP1_TIM1_STOP)
  257. #define __HAL_DBGMCU_UNFREEZE_TIM1() LL_DBGMCU_APB2_GRP1_UnFreezePeriph(LL_DBGMCU_APB2_GRP1_TIM1_STOP)
  258. #endif
  259. #if defined(LL_DBGMCU_APB2_GRP1_TIM16_STOP)
  260. #define __HAL_DBGMCU_FREEZE_TIM16() LL_DBGMCU_APB2_GRP1_FreezePeriph(LL_DBGMCU_APB2_GRP1_TIM16_STOP)
  261. #define __HAL_DBGMCU_UNFREEZE_TIM16() LL_DBGMCU_APB2_GRP1_UnFreezePeriph(LL_DBGMCU_APB2_GRP1_TIM16_STOP)
  262. #endif
  263. #if defined(LL_DBGMCU_APB2_GRP1_TIM17_STOP)
  264. #define __HAL_DBGMCU_FREEZE_TIM17() LL_DBGMCU_APB2_GRP1_FreezePeriph(LL_DBGMCU_APB2_GRP1_TIM17_STOP)
  265. #define __HAL_DBGMCU_UNFREEZE_TIM17() LL_DBGMCU_APB2_GRP1_UnFreezePeriph(LL_DBGMCU_APB2_GRP1_TIM17_STOP)
  266. #endif
  267. /**
  268. * @}
  269. */
  270. /** @defgroup DBGMCU_C2_APBx_GRPx_STOP_IP DBGMCU CPU2 APBx GRPx STOP IP
  271. * @{
  272. */
  273. #if defined(LL_C2_DBGMCU_APB1_GRP1_TIM2_STOP)
  274. #define __HAL_C2_DBGMCU_FREEZE_TIM2() LL_C2_DBGMCU_APB1_GRP1_FreezePeriph(LL_C2_DBGMCU_APB1_GRP1_TIM2_STOP)
  275. #define __HAL_C2_DBGMCU_UNFREEZE_TIM2() LL_C2_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP1_TIM2_STOP)
  276. #endif
  277. #if defined(LL_C2_DBGMCU_APB1_GRP1_RTC_STOP)
  278. #define __HAL_C2_DBGMCU_FREEZE_RTC() LL_C2_DBGMCU_APB1_GRP1_FreezePeriph(LL_C2_DBGMCU_APB1_GRP1_RTC_STOP)
  279. #define __HAL_C2_DBGMCU_UNFREEZE_RTC() LL_C2_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP1_RTC_STOP)
  280. #endif
  281. #if defined(LL_C2_DBGMCU_APB1_GRP1_IWDG_STOP)
  282. #define __HAL_C2_DBGMCU_FREEZE_IWDG() LL_C2_DBGMCU_APB1_GRP1_FreezePeriph(LL_C2_DBGMCU_APB1_GRP1_IWDG_STOP)
  283. #define __HAL_C2_DBGMCU_UNFREEZE_IWDG() LL_C2_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP1_IWDG_STOP)
  284. #endif
  285. #if defined(LL_C2_DBGMCU_APB1_GRP1_I2C1_STOP)
  286. #define __HAL_C2_DBGMCU_FREEZE_I2C1_TIMEOUT() LL_C2_DBGMCU_APB1_GRP1_FreezePeriph(LL_C2_DBGMCU_APB1_GRP1_I2C1_STOP)
  287. #define __HAL_C2_DBGMCU_UNFREEZE_I2C1_TIMEOUT() LL_C2_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP1_I2C1_STOP)
  288. #endif
  289. #if defined(LL_C2_DBGMCU_APB1_GRP1_I2C3_STOP)
  290. #define __HAL_C2_DBGMCU_FREEZE_I2C3_TIMEOUT() LL_C2_DBGMCU_APB1_GRP1_FreezePeriph(LL_C2_DBGMCU_APB1_GRP1_I2C3_STOP)
  291. #define __HAL_C2_DBGMCU_UNFREEZE_I2C3_TIMEOUT() LL_C2_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP1_I2C3_STOP)
  292. #endif
  293. #if defined(LL_C2_DBGMCU_APB1_GRP1_LPTIM1_STOP)
  294. #define __HAL_C2_DBGMCU_FREEZE_LPTIM1() LL_C2_DBGMCU_APB1_GRP1_FreezePeriph(LL_C2_DBGMCU_APB1_GRP1_LPTIM1_STOP)
  295. #define __HAL_C2_DBGMCU_UNFREEZE_LPTIM1() LL_C2_DBGMCU_APB1_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP1_LPTIM1_STOP)
  296. #endif
  297. #if defined(LL_C2_DBGMCU_APB1_GRP2_LPTIM2_STOP)
  298. #define __HAL_C2_DBGMCU_FREEZE_LPTIM2() LL_C2_DBGMCU_APB1_GRP2_FreezePeriph(LL_C2_DBGMCU_APB1_GRP2_LPTIM2_STOP)
  299. #define __HAL_C2_DBGMCU_UNFREEZE_LPTIM2() LL_C2_DBGMCU_APB1_GRP2_UnFreezePeriph(LL_C2_DBGMCU_APB1_GRP2_LPTIM2_STOP)
  300. #endif
  301. #if defined(LL_C2_DBGMCU_APB2_GRP1_TIM1_STOP)
  302. #define __HAL_C2_DBGMCU_FREEZE_TIM1() LL_C2_DBGMCU_APB2_GRP1_FreezePeriph(LL_C2_DBGMCU_APB2_GRP1_TIM1_STOP)
  303. #define __HAL_C2_DBGMCU_UNFREEZE_TIM1() LL_C2_DBGMCU_APB2_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB2_GRP1_TIM1_STOP)
  304. #endif
  305. #if defined(LL_C2_DBGMCU_APB2_GRP1_TIM16_STOP)
  306. #define __HAL_C2_DBGMCU_FREEZE_TIM16() LL_C2_DBGMCU_APB2_GRP1_FreezePeriph(LL_C2_DBGMCU_APB2_GRP1_TIM16_STOP)
  307. #define __HAL_C2_DBGMCU_UNFREEZE_TIM16() LL_C2_DBGMCU_APB2_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB2_GRP1_TIM16_STOP)
  308. #endif
  309. #if defined(LL_C2_DBGMCU_APB2_GRP1_TIM17_STOP)
  310. #define __HAL_C2_DBGMCU_FREEZE_TIM17() LL_C2_DBGMCU_APB2_GRP1_FreezePeriph(LL_C2_DBGMCU_APB2_GRP1_TIM17_STOP)
  311. #define __HAL_C2_DBGMCU_UNFREEZE_TIM17() LL_C2_DBGMCU_APB2_GRP1_UnFreezePeriph(LL_C2_DBGMCU_APB2_GRP1_TIM17_STOP)
  312. #endif
  313. /**
  314. * @}
  315. */
  316. /**
  317. * @}
  318. */
  319. /** @defgroup SYSCFG_Exported_Macros SYSCFG Exported Macros
  320. * @{
  321. */
  322. /** @brief Main Flash memory mapped at 0x00000000
  323. */
  324. #define __HAL_SYSCFG_REMAPMEMORY_FLASH() LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_FLASH)
  325. /** @brief System Flash memory mapped at 0x00000000
  326. */
  327. #define __HAL_SYSCFG_REMAPMEMORY_SYSTEMFLASH() LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SYSTEMFLASH)
  328. /** @brief Embedded SRAM mapped at 0x00000000
  329. */
  330. #define __HAL_SYSCFG_REMAPMEMORY_SRAM() LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM)
  331. #if defined(LL_SYSCFG_REMAP_QUADSPI)
  332. /** @brief QUADSPI mapped at 0x00000000.
  333. */
  334. #define __HAL_SYSCFG_REMAPMEMORY_QUADSPI() LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_QUADSPI)
  335. #endif
  336. /**
  337. * @brief Return the boot mode as configured by user.
  338. * @retval The boot mode as configured by user. The returned value can be one
  339. * of the following values:
  340. * @arg @ref SYSCFG_BOOT_MAINFLASH
  341. * @arg @ref SYSCFG_BOOT_SYSTEMFLASH
  342. * @arg @ref SYSCFG_BOOT_SRAM
  343. #if defined(LL_SYSCFG_REMAP_QUADSPI)
  344. * @arg @ref SYSCFG_BOOT_QUADSPI
  345. #endif
  346. */
  347. #define __HAL_SYSCFG_GET_BOOT_MODE() LL_SYSCFG_GetRemapMemory()
  348. /** @brief SRAM2 page 0 to 31 write protection enable macro
  349. * @param __SRAM2WRP__ This parameter can be a combination of values of @ref SYSCFG_SRAM2WRP
  350. * @note Write protection can only be disabled by a system reset
  351. */
  352. /* Legacy define */
  353. #define __HAL_SYSCFG_SRAM2_WRP_1_31_ENABLE __HAL_SYSCFG_SRAM2_WRP_0_31_ENABLE
  354. #define __HAL_SYSCFG_SRAM2_WRP_0_31_ENABLE(__SRAM2WRP__) do {assert_param(IS_SYSCFG_SRAM2WRP_PAGE((__SRAM2WRP__)));\
  355. LL_SYSCFG_EnableSRAM2PageWRP_0_31(__SRAM2WRP__);\
  356. }while(0)
  357. /** @brief SRAM2 page 32 to 63 write protection enable macro
  358. * @param __SRAM2WRP__ This parameter can be a combination of values of @ref SYSCFG_SRAM2WRP_32_63
  359. * @note Write protection can only be disabled by a system reset
  360. */
  361. #define __HAL_SYSCFG_SRAM2_WRP_32_63_ENABLE(__SRAM2WRP__) do {assert_param(IS_SYSCFG_SRAM2WRP_PAGE((__SRAM2WRP__)));\
  362. LL_SYSCFG_EnableSRAM2PageWRP_32_63(__SRAM2WRP__);\
  363. }while(0)
  364. /** @brief SRAM2 page write protection unlock prior to erase
  365. * @note Writing a wrong key reactivates the write protection
  366. */
  367. #define __HAL_SYSCFG_SRAM2_WRP_UNLOCK() LL_SYSCFG_UnlockSRAM2WRP()
  368. /** @brief SRAM2 erase
  369. * @note __SYSCFG_GET_FLAG(SYSCFG_FLAG_SRAM2_BUSY) may be used to check end of erase
  370. */
  371. #define __HAL_SYSCFG_SRAM2_ERASE() LL_SYSCFG_EnableSRAM2Erase()
  372. /** @brief Floating Point Unit interrupt enable/disable macros
  373. * @param __INTERRUPT__ This parameter can be a value of @ref SYSCFG_FPU_Interrupts
  374. */
  375. #define __HAL_SYSCFG_FPU_INTERRUPT_ENABLE(__INTERRUPT__) do {assert_param(IS_SYSCFG_FPU_INTERRUPT((__INTERRUPT__)));\
  376. SET_BIT(SYSCFG->CFGR1, (__INTERRUPT__));\
  377. }while(0)
  378. #define __HAL_SYSCFG_FPU_INTERRUPT_DISABLE(__INTERRUPT__) do {assert_param(IS_SYSCFG_FPU_INTERRUPT((__INTERRUPT__)));\
  379. CLEAR_BIT(SYSCFG->CFGR1, (__INTERRUPT__));\
  380. }while(0)
  381. /** @brief SYSCFG Break ECC lock.
  382. * Enable and lock the connection of Flash ECC error connection to TIM1/16/17 Break input.
  383. * @note The selected configuration is locked and can be unlocked only by system reset.
  384. */
  385. #define __HAL_SYSCFG_BREAK_ECC_LOCK() LL_SYSCFG_SetTIMBreakInputs(LL_SYSCFG_TIMBREAK_ECC)
  386. /** @brief SYSCFG Break Cortex-M4 Lockup lock.
  387. * Enable and lock the connection of Cortex-M4 LOCKUP (Hardfault) output to TIM1/16/17 Break input.
  388. * @note The selected configuration is locked and can be unlocked only by system reset.
  389. */
  390. #define __HAL_SYSCFG_BREAK_LOCKUP_LOCK() LL_SYSCFG_SetTIMBreakInputs(LL_SYSCFG_TIMBREAK_LOCKUP)
  391. /** @brief SYSCFG Break PVD lock.
  392. * Enable and lock the PVD connection to Timer1/16/17 Break input, as well as the PVDE and PLS[2:0] in the PWR_CR2 register.
  393. * @note The selected configuration is locked and can be unlocked only by system reset.
  394. */
  395. #define __HAL_SYSCFG_BREAK_PVD_LOCK() LL_SYSCFG_SetTIMBreakInputs(LL_SYSCFG_TIMBREAK_PVD)
  396. /** @brief SYSCFG Break SRAM2 parity lock.
  397. * Enable and lock the SRAM2 parity error signal connection to TIM1/16/17 Break input.
  398. * @note The selected configuration is locked and can be unlocked by system reset.
  399. */
  400. #define __HAL_SYSCFG_BREAK_SRAM2PARITY_LOCK() LL_SYSCFG_SetTIMBreakInputs(LL_SYSCFG_TIMBREAK_SRAM2_PARITY)
  401. /** @brief Check SYSCFG flag is set or not.
  402. * @param __FLAG__ specifies the flag to check.
  403. * This parameter can be one of the following values:
  404. * @arg @ref SYSCFG_FLAG_SRAM2_PE SRAM2 Parity Error Flag
  405. * @arg @ref SYSCFG_FLAG_SRAM2_BUSY SRAM2 Erase Ongoing
  406. * @retval The new state of __FLAG__ (TRUE or FALSE).
  407. */
  408. #define __HAL_SYSCFG_GET_FLAG(__FLAG__) ((((((__FLAG__) == SYSCFG_SCSR_SRAM2BSY)? SYSCFG->SCSR : SYSCFG->CFGR2) & (__FLAG__))!= 0U) ? 1U : 0U)
  409. /** @brief Set the SPF bit to clear the SRAM Parity Error Flag.
  410. */
  411. #define __HAL_SYSCFG_CLEAR_FLAG() LL_SYSCFG_ClearFlag_SP()
  412. /** @brief Fast mode Plus driving capability enable/disable macros
  413. * @param __FASTMODEPLUS__ This parameter can be a value of @ref SYSCFG_FastModePlus_GPIO
  414. */
  415. #define __HAL_SYSCFG_FASTMODEPLUS_ENABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__))); \
  416. LL_SYSCFG_EnableFastModePlus(__FASTMODEPLUS__); \
  417. }while(0)
  418. #define __HAL_SYSCFG_FASTMODEPLUS_DISABLE(__FASTMODEPLUS__) do {assert_param(IS_SYSCFG_FASTMODEPLUS((__FASTMODEPLUS__))); \
  419. LL_SYSCFG_DisableFastModePlus(__FASTMODEPLUS__); \
  420. }while(0)
  421. /**
  422. * @}
  423. */
  424. /**
  425. * @}
  426. */
  427. /* Private macros ------------------------------------------------------------*/
  428. /** @defgroup HAL_Private_Macros HAL Private Macros
  429. * @{
  430. */
  431. /** @defgroup SYSCFG_Private_Macros SYSCFG Private Macros
  432. * @{
  433. */
  434. #define IS_SYSCFG_FPU_INTERRUPT(__INTERRUPT__) ((((__INTERRUPT__) & SYSCFG_IT_FPU_IOC) == SYSCFG_IT_FPU_IOC) || \
  435. (((__INTERRUPT__) & SYSCFG_IT_FPU_DZC) == SYSCFG_IT_FPU_DZC) || \
  436. (((__INTERRUPT__) & SYSCFG_IT_FPU_UFC) == SYSCFG_IT_FPU_UFC) || \
  437. (((__INTERRUPT__) & SYSCFG_IT_FPU_OFC) == SYSCFG_IT_FPU_OFC) || \
  438. (((__INTERRUPT__) & SYSCFG_IT_FPU_IDC) == SYSCFG_IT_FPU_IDC) || \
  439. (((__INTERRUPT__) & SYSCFG_IT_FPU_IXC) == SYSCFG_IT_FPU_IXC))
  440. #define IS_SYSCFG_SRAM2WRP_PAGE(__PAGE__) (((__PAGE__) > 0U) && ((__PAGE__) <= 0xFFFFFFFFU))
  441. #if defined(VREFBUF)
  442. #define IS_SYSCFG_VREFBUF_VOLTAGE_SCALE(__SCALE__) (((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE0) || \
  443. ((__SCALE__) == SYSCFG_VREFBUF_VOLTAGE_SCALE1))
  444. #define IS_SYSCFG_VREFBUF_HIGH_IMPEDANCE(__VALUE__) (((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE) || \
  445. ((__VALUE__) == SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE))
  446. #define IS_SYSCFG_VREFBUF_TRIMMING(__VALUE__) (((__VALUE__) > 0U) && ((__VALUE__) <= VREFBUF_CCR_TRIM))
  447. #endif
  448. #define IS_SYSCFG_FASTMODEPLUS(__PIN__) ((((__PIN__) & SYSCFG_FASTMODEPLUS_PB6) == SYSCFG_FASTMODEPLUS_PB6) || \
  449. (((__PIN__) & SYSCFG_FASTMODEPLUS_PB7) == SYSCFG_FASTMODEPLUS_PB7) || \
  450. (((__PIN__) & SYSCFG_FASTMODEPLUS_PB8) == SYSCFG_FASTMODEPLUS_PB8) || \
  451. (((__PIN__) & SYSCFG_FASTMODEPLUS_PB9) == SYSCFG_FASTMODEPLUS_PB9))
  452. #if defined(LL_SYSCFG_SECURE_ACCESS_AES1)
  453. #define IS_SYSCFG_SECURITY_ACCESS(__VALUE__) ((((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_AES1) == HAL_SYSCFG_SECURE_ACCESS_AES1) || \
  454. (((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_AES2) == HAL_SYSCFG_SECURE_ACCESS_AES2) || \
  455. (((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_PKA) == HAL_SYSCFG_SECURE_ACCESS_PKA) || \
  456. (((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_RNG) == HAL_SYSCFG_SECURE_ACCESS_RNG))
  457. #else
  458. #define IS_SYSCFG_SECURITY_ACCESS(__VALUE__) ((((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_AES2) == HAL_SYSCFG_SECURE_ACCESS_AES2) || \
  459. (((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_PKA) == HAL_SYSCFG_SECURE_ACCESS_PKA) || \
  460. (((__VALUE__) & HAL_SYSCFG_SECURE_ACCESS_RNG) == HAL_SYSCFG_SECURE_ACCESS_RNG))
  461. #endif
  462. /**
  463. * @}
  464. */
  465. /**
  466. * @}
  467. */
  468. /** @defgroup HAL_Private_Macros HAL Private Macros
  469. * @{
  470. */
  471. #define IS_TICKFREQ(FREQ) (((FREQ) == HAL_TICK_FREQ_10HZ) || \
  472. ((FREQ) == HAL_TICK_FREQ_100HZ) || \
  473. ((FREQ) == HAL_TICK_FREQ_1KHZ))
  474. /**
  475. * @}
  476. */
  477. /* Exported functions --------------------------------------------------------*/
  478. /** @defgroup HAL_Exported_Functions HAL Exported Functions
  479. * @{
  480. */
  481. /** @defgroup HAL_Exported_Functions_Group1 HAL Initialization and Configuration functions
  482. * @{
  483. */
  484. /* Initialization and Configuration functions ******************************/
  485. HAL_StatusTypeDef HAL_Init(void);
  486. HAL_StatusTypeDef HAL_DeInit(void);
  487. void HAL_MspInit(void);
  488. void HAL_MspDeInit(void);
  489. HAL_StatusTypeDef HAL_InitTick (uint32_t TickPriority);
  490. /**
  491. * @}
  492. */
  493. /** @defgroup HAL_Exported_Functions_Group2 HAL Control functions
  494. * @{
  495. */
  496. /* Peripheral Control functions ************************************************/
  497. void HAL_IncTick(void);
  498. void HAL_Delay(uint32_t Delay);
  499. uint32_t HAL_GetTick(void);
  500. uint32_t HAL_GetTickPrio(void);
  501. HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq);
  502. HAL_TickFreqTypeDef HAL_GetTickFreq(void);
  503. void HAL_SuspendTick(void);
  504. void HAL_ResumeTick(void);
  505. uint32_t HAL_GetHalVersion(void);
  506. uint32_t HAL_GetREVID(void);
  507. uint32_t HAL_GetDEVID(void);
  508. uint32_t HAL_GetUIDw0(void);
  509. uint32_t HAL_GetUIDw1(void);
  510. uint32_t HAL_GetUIDw2(void);
  511. /**
  512. * @}
  513. */
  514. /** @defgroup HAL_Exported_Functions_Group3 HAL Debug functions
  515. * @{
  516. */
  517. /* DBGMCU Peripheral Control functions *****************************************/
  518. void HAL_DBGMCU_EnableDBGSleepMode(void);
  519. void HAL_DBGMCU_DisableDBGSleepMode(void);
  520. void HAL_DBGMCU_EnableDBGStopMode(void);
  521. void HAL_DBGMCU_DisableDBGStopMode(void);
  522. void HAL_DBGMCU_EnableDBGStandbyMode(void);
  523. void HAL_DBGMCU_DisableDBGStandbyMode(void);
  524. /**
  525. * @}
  526. */
  527. /* Exported variables ---------------------------------------------------------*/
  528. /** @addtogroup HAL_Exported_Variables
  529. * @{
  530. */
  531. extern __IO uint32_t uwTick;
  532. extern uint32_t uwTickPrio;
  533. extern HAL_TickFreqTypeDef uwTickFreq;
  534. /**
  535. * @}
  536. */
  537. /** @addtogroup HAL_Exported_Functions_Group4 HAL System Configuration functions
  538. * @{
  539. */
  540. /* SYSCFG Control functions ****************************************************/
  541. void HAL_SYSCFG_SRAM2Erase(void);
  542. void HAL_SYSCFG_DisableSRAMFetch(void);
  543. uint32_t HAL_SYSCFG_IsEnabledSRAMFetch(void);
  544. #if defined(VREFBUF)
  545. void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling);
  546. void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode);
  547. void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue);
  548. HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void);
  549. void HAL_SYSCFG_DisableVREFBUF(void);
  550. #endif
  551. void HAL_SYSCFG_EnableIOBooster(void);
  552. void HAL_SYSCFG_DisableIOBooster(void);
  553. void HAL_SYSCFG_EnableIOVdd(void);
  554. void HAL_SYSCFG_DisableIOVdd(void);
  555. void HAL_SYSCFG_EnableSecurityAccess(uint32_t SecurityAccess);
  556. void HAL_SYSCFG_DisableSecurityAccess(uint32_t SecurityAccess);
  557. uint32_t HAL_SYSCFG_IsEnabledSecurityAccess(uint32_t SecurityAccess);
  558. /**
  559. * @}
  560. */
  561. /**
  562. * @}
  563. */
  564. /**
  565. * @}
  566. */
  567. /**
  568. * @}
  569. */
  570. #ifdef __cplusplus
  571. }
  572. #endif
  573. #endif /* STM32WBxx_HAL_H */
  574. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/