stm32g0xx_ll_system.h 80 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085
  1. /**
  2. ******************************************************************************
  3. * @file stm32g0xx_ll_system.h
  4. * @author MCD Application Team
  5. * @brief Header file of SYSTEM LL module.
  6. *
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * Copyright (c) 2018 STMicroelectronics.
  11. * All rights reserved.
  12. *
  13. * This software is licensed under terms that can be found in the LICENSE file
  14. * in the root directory of this software component.
  15. * If no LICENSE file comes with this software, it is provided AS-IS.
  16. *
  17. ******************************************************************************
  18. @verbatim
  19. ==============================================================================
  20. ##### How to use this driver #####
  21. ==============================================================================
  22. [..]
  23. The LL SYSTEM driver contains a set of generic APIs that can be
  24. used by user:
  25. (+) Some of the FLASH features need to be handled in the SYSTEM file.
  26. (+) Access to DBG registers
  27. (+) Access to SYSCFG registers
  28. (+) Access to VREFBUF registers
  29. @endverbatim
  30. ******************************************************************************
  31. */
  32. /* Define to prevent recursive inclusion -------------------------------------*/
  33. #ifndef STM32G0xx_LL_SYSTEM_H
  34. #define STM32G0xx_LL_SYSTEM_H
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif
  38. /* Includes ------------------------------------------------------------------*/
  39. #include "stm32g0xx.h"
  40. /** @addtogroup STM32G0xx_LL_Driver
  41. * @{
  42. */
  43. #if defined (FLASH) || defined (SYSCFG) || defined (DBG)
  44. /** @defgroup SYSTEM_LL SYSTEM
  45. * @{
  46. */
  47. /* Private types -------------------------------------------------------------*/
  48. /* Private variables ---------------------------------------------------------*/
  49. /* Private constants ---------------------------------------------------------*/
  50. /** @defgroup SYSTEM_LL_Private_Constants SYSTEM Private Constants
  51. * @{
  52. */
  53. /**
  54. * @}
  55. */
  56. /* Private macros ------------------------------------------------------------*/
  57. /* Exported types ------------------------------------------------------------*/
  58. /* Exported constants --------------------------------------------------------*/
  59. /** @defgroup SYSTEM_LL_Exported_Constants SYSTEM Exported Constants
  60. * @{
  61. */
  62. /** @defgroup SYSTEM_LL_EC_REMAP SYSCFG REMAP
  63. * @{
  64. */
  65. #define LL_SYSCFG_REMAP_FLASH 0x00000000U /*!< Main Flash memory mapped at 0x00000000 */
  66. #define LL_SYSCFG_REMAP_SYSTEMFLASH SYSCFG_CFGR1_MEM_MODE_0 /*!< System Flash memory mapped at 0x00000000 */
  67. #define LL_SYSCFG_REMAP_SRAM (SYSCFG_CFGR1_MEM_MODE_1 | SYSCFG_CFGR1_MEM_MODE_0) /*!< Embedded SRAM mapped at 0x00000000 */
  68. /**
  69. * @}
  70. */
  71. /** @defgroup SYSTEM_LL_EC_PIN_RMP SYSCFG PIN RMP
  72. * @{
  73. */
  74. #define LL_SYSCFG_PIN_RMP_PA11 SYSCFG_CFGR1_PA11_RMP /*!< PA11 pad behaves as PA9 pin */
  75. #define LL_SYSCFG_PIN_RMP_PA12 SYSCFG_CFGR1_PA12_RMP /*!< PA12 pad behaves as PA10 pin */
  76. /**
  77. * @}
  78. */
  79. #if defined(SYSCFG_CFGR1_IR_MOD)
  80. /** @defgroup SYSTEM_LL_EC_IR_MOD SYSCFG IR Modulation
  81. * @{
  82. */
  83. #define LL_SYSCFG_IR_MOD_TIM16 (SYSCFG_CFGR1_IR_MOD_0 & SYSCFG_CFGR1_IR_MOD_1) /*!< 00: Timer16 is selected as IRDA Modulation envelope source */
  84. #define LL_SYSCFG_IR_MOD_USART1 (SYSCFG_CFGR1_IR_MOD_0) /*!< 01: USART1 is selected as IRDA Modulation envelope source */
  85. #if defined(USART4)
  86. #define LL_SYSCFG_IR_MOD_USART4 (SYSCFG_CFGR1_IR_MOD_1) /*!< 10: USART4 is selected as IRDA Modulation envelope source */
  87. #else
  88. #define LL_SYSCFG_IR_MOD_USART2 (SYSCFG_CFGR1_IR_MOD_1) /*!< 10: USART2 is selected as IRDA Modulation envelope source */
  89. #endif /* USART4 */
  90. /**
  91. * @}
  92. */
  93. /** @defgroup SYSTEM_LL_EC_IR_POL SYSCFG IR Polarity
  94. * @{
  95. */
  96. #define LL_SYSCFG_IR_POL_NOT_INVERTED 0x00000000U /*!< 0: Output of IRDA (IROut) not inverted */
  97. #define LL_SYSCFG_IR_POL_INVERTED (SYSCFG_CFGR1_IR_POL) /*!< 1: Output of IRDA (IROut) inverted */
  98. /**
  99. * @}
  100. */
  101. #endif /* SYSCFG_CFGR1_IR_MOD */
  102. #if defined(SYSCFG_CFGR1_BOOSTEN)
  103. /** @defgroup SYSTEM_LL_EC_BOOSTEN SYSCFG I/O analog switch voltage booster enable
  104. * @{
  105. */
  106. #define LL_SYSCFG_CFGR1_BOOSTEN SYSCFG_CFGR1_BOOSTEN /*!< I/O analog switch voltage booster enable */
  107. /**
  108. * @}
  109. */
  110. #endif /* SYSCFG_CFGR1_BOOSTEN */
  111. #if defined(SYSCFG_CFGR1_UCPD1_STROBE) || defined(SYSCFG_CFGR1_UCPD2_STROBE)
  112. /** @defgroup SYSTEM_LL_EC_UCPD_DBATTDIS SYSCFG UCPD Dead Battery feature Disable
  113. * @{
  114. */
  115. #define LL_SYSCFG_UCPD1_STROBE SYSCFG_CFGR1_UCPD1_STROBE /*!< UCPD1 STROBE sw configuration */
  116. #define LL_SYSCFG_UCPD2_STROBE SYSCFG_CFGR1_UCPD2_STROBE /*!< UCPD2 STROBE sw configuration */
  117. /**
  118. * @}
  119. */
  120. #endif /* SYSCFG_CFGR1_UCPD1_STROBE) || SYSCFG_CFGR1_UCPD2_STROBE */
  121. /** @defgroup SYSTEM_LL_EC_I2C_FASTMODEPLUS SYSCFG I2C FASTMODEPLUS
  122. * @{
  123. */
  124. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB6 SYSCFG_CFGR1_I2C_PB6_FMP /*!< I2C PB6 Fast mode plus */
  125. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB7 SYSCFG_CFGR1_I2C_PB7_FMP /*!< I2C PB7 Fast mode plus */
  126. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB8 SYSCFG_CFGR1_I2C_PB8_FMP /*!< I2C PB8 Fast mode plus */
  127. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB9 SYSCFG_CFGR1_I2C_PB9_FMP /*!< I2C PB9 Fast mode plus */
  128. #if defined(SYSCFG_CFGR1_I2C1_FMP)
  129. #define LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 SYSCFG_CFGR1_I2C1_FMP /*!< Enable I2C1 Fast mode Plus */
  130. #endif /*SYSCFG_CFGR1_I2C1_FMP*/
  131. #if defined(SYSCFG_CFGR1_I2C2_FMP)
  132. #define LL_SYSCFG_I2C_FASTMODEPLUS_I2C2 SYSCFG_CFGR1_I2C2_FMP /*!< Enable I2C2 Fast mode plus */
  133. #endif /*SYSCFG_CFGR1_I2C2_FMP*/
  134. #if defined(SYSCFG_CFGR1_I2C_PA9_FMP)
  135. #define LL_SYSCFG_I2C_FASTMODEPLUS_PA9 SYSCFG_CFGR1_I2C_PA9_FMP /*!< Enable Fast Mode Plus on PA9 */
  136. #endif /*SYSCFG_CFGR1_I2C_PA9_FMP*/
  137. #if defined(SYSCFG_CFGR1_I2C_PA10_FMP)
  138. #define LL_SYSCFG_I2C_FASTMODEPLUS_PA10 SYSCFG_CFGR1_I2C_PA10_FMP /*!< Enable Fast Mode Plus on PA10 */
  139. #endif /*SYSCFG_CFGR1_I2C_PA10_FMP*/
  140. #if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx)
  141. #if defined(SYSCFG_CFGR1_I2C3_FMP)
  142. #define LL_SYSCFG_I2C_FASTMODEPLUS_I2C3 SYSCFG_CFGR1_I2C3_FMP /*!< Enable I2C3 Fast mode plus */
  143. #endif /*SYSCFG_CFGR1_I2C3_FMP*/
  144. #endif /* STM32G0C1xx || STM32G0B1xx || STM32G0B0xx */
  145. /**
  146. * @}
  147. */
  148. /** @defgroup SYSTEM_LL_EC_TIMBREAK SYSCFG TIMER BREAK
  149. * @{
  150. */
  151. #define LL_SYSCFG_TIMBREAK_ECC SYSCFG_CFGR2_ECCL /*!< Enables and locks the ECC error signal
  152. with Break Input of TIM1/15/16/17 */
  153. #if defined (PWR_PVD_SUPPORT)
  154. #define LL_SYSCFG_TIMBREAK_PVD SYSCFG_CFGR2_PVDL /*!< Enables and locks the PVD connection
  155. with TIM1/15/16/17 Break Input and also
  156. the PVDE and PLS bits of the Power Control Interface */
  157. #endif /* PWR_PVD_SUPPORT */
  158. #define LL_SYSCFG_TIMBREAK_SRAM_PARITY SYSCFG_CFGR2_SPL /*!< Enables and locks the SRAM_PARITY error signal
  159. with Break Input of TIM1/15/16/17 */
  160. #define LL_SYSCFG_TIMBREAK_LOCKUP SYSCFG_CFGR2_CLL /*!< Enables and locks the LOCKUP (Hardfault) output of
  161. CortexM0 with Break Input of TIM1/15/16/17 */
  162. /**
  163. * @}
  164. */
  165. #if defined(SYSCFG_CDEN_SUPPORT)
  166. /** @defgroup SYSTEM_LL_EC_CLAMPING_DIODE SYSCFG CLAMPING DIODE
  167. * @{
  168. */
  169. #define LL_SYSCFG_CFGR2_PA1_CDEN SYSCFG_CFGR2_PA1_CDEN /*!< Enables Clamping diode of PA1 */
  170. #define LL_SYSCFG_CFGR2_PA3_CDEN SYSCFG_CFGR2_PA3_CDEN /*!< Enables Clamping diode of PA3 */
  171. #define LL_SYSCFG_CFGR2_PA5_CDEN SYSCFG_CFGR2_PA5_CDEN /*!< Enables Clamping diode of PA5 */
  172. #define LL_SYSCFG_CFGR2_PA6_CDEN SYSCFG_CFGR2_PA6_CDEN /*!< Enables Clamping diode of PA6 */
  173. #define LL_SYSCFG_CFGR2_PA13_CDEN SYSCFG_CFGR2_PA13_CDEN /*!< Enables Clamping diode of PA13 */
  174. #define LL_SYSCFG_CFGR2_PB0_CDEN SYSCFG_CFGR2_PB0_CDEN /*!< Enables Clamping diode of PB0 */
  175. #define LL_SYSCFG_CFGR2_PB1_CDEN SYSCFG_CFGR2_PB1_CDEN /*!< Enables Clamping diode of PB1 */
  176. #define LL_SYSCFG_CFGR2_PB2_CDEN SYSCFG_CFGR2_PB2_CDEN /*!< Enables Clamping diode of PB2 */
  177. /**
  178. * @}
  179. */
  180. #endif /* SYSCFG_CDEN_SUPPORT */
  181. /** @defgroup SYSTEM_LL_EC_APB1_GRP1_STOP_IP DBGMCU APB1 GRP1 STOP IP
  182. * @{
  183. */
  184. #if defined(DBG_APB_FZ1_DBG_TIM2_STOP)
  185. #define LL_DBGMCU_APB1_GRP1_TIM2_STOP DBG_APB_FZ1_DBG_TIM2_STOP /*!< TIM2 counter stopped when core is halted */
  186. #endif /*DBG_APB_FZ1_DBG_TIM2_STOP*/
  187. #define LL_DBGMCU_APB1_GRP1_TIM3_STOP DBG_APB_FZ1_DBG_TIM3_STOP /*!< TIM3 counter stopped when core is halted */
  188. #if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx)
  189. #define LL_DBGMCU_APB1_GRP1_TIM4_STOP DBG_APB_FZ1_DBG_TIM4_STOP /*!< TIM4 counter stopped when core is halted */
  190. #endif /* STM32G0C1xx || STM32G0B1xx || STM32G0B0xx */
  191. #if defined(DBG_APB_FZ1_DBG_TIM6_STOP)
  192. #define LL_DBGMCU_APB1_GRP1_TIM6_STOP DBG_APB_FZ1_DBG_TIM6_STOP /*!< TIM6 counter stopped when core is halted */
  193. #endif /*DBG_APB_FZ1_DBG_TIM6_STOP*/
  194. #if defined(DBG_APB_FZ1_DBG_TIM7_STOP)
  195. #define LL_DBGMCU_APB1_GRP1_TIM7_STOP DBG_APB_FZ1_DBG_TIM7_STOP /*!< TIM7 counter stopped when core is halted */
  196. #endif /*DBG_APB_FZ1_DBG_TIM7_STOP*/
  197. #define LL_DBGMCU_APB1_GRP1_RTC_STOP DBG_APB_FZ1_DBG_RTC_STOP /*!< RTC Calendar frozen when core is halted */
  198. #define LL_DBGMCU_APB1_GRP1_WWDG_STOP DBG_APB_FZ1_DBG_WWDG_STOP /*!< Debug Window Watchdog stopped when Core is halted */
  199. #define LL_DBGMCU_APB1_GRP1_IWDG_STOP DBG_APB_FZ1_DBG_IWDG_STOP /*!< Debug Independent Watchdog stopped when Core is halted */
  200. #define LL_DBGMCU_APB1_GRP1_I2C1_STOP DBG_APB_FZ1_DBG_I2C1_SMBUS_TIMEOUT_STOP /*!< I2C1 SMBUS timeout mode stopped when Core is halted */
  201. #if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx)
  202. #define LL_DBGMCU_APB1_GRP1_I2C2_STOP DBG_APB_FZ1_DBG_I2C2_SMBUS_TIMEOUT_STOP /*!< I2C2 SMBUS timeout mode stopped when Core is halted */
  203. #endif /* STM32G0C1xx || STM32G0B1xx || STM32G0B0xx */
  204. #if defined(DBG_APB_FZ1_DBG_LPTIM2_STOP)
  205. #define LL_DBGMCU_APB1_GRP1_LPTIM2_STOP DBG_APB_FZ1_DBG_LPTIM2_STOP /*!< LPTIM2 counter stopped when Core is halted */
  206. #endif /* DBG_APB_FZ1_DBG_LPTIM2_STOP */
  207. #if defined(DBG_APB_FZ1_DBG_LPTIM1_STOP)
  208. #define LL_DBGMCU_APB1_GRP1_LPTIM1_STOP DBG_APB_FZ1_DBG_LPTIM1_STOP /*!< LPTIM1 counter stopped when Core is halted */
  209. #endif /* DBG_APB_FZ1_DBG_LPTIM1_STOP */
  210. /**
  211. * @}
  212. */
  213. /** @defgroup SYSTEM_LL_EC_APB2_GRP1_STOP_IP DBGMCU APB2 GRP1 STOP IP
  214. * @{
  215. */
  216. #define LL_DBGMCU_APB2_GRP1_TIM1_STOP DBG_APB_FZ2_DBG_TIM1_STOP /*!< TIM1 counter stopped when core is halted */
  217. #if defined(DBG_APB_FZ2_DBG_TIM14_STOP)
  218. #define LL_DBGMCU_APB2_GRP1_TIM14_STOP DBG_APB_FZ2_DBG_TIM14_STOP /*!< TIM14 counter stopped when core is halted */
  219. #endif /* DBG_APB_FZ2_DBG_TIM14_STOP */
  220. #if defined(DBG_APB_FZ2_DBG_TIM15_STOP)
  221. #define LL_DBGMCU_APB2_GRP1_TIM15_STOP DBG_APB_FZ2_DBG_TIM15_STOP /*!< TIM15 counter stopped when core is halted */
  222. #endif /*DBG_APB_FZ2_DBG_TIM15_STOP*/
  223. #define LL_DBGMCU_APB2_GRP1_TIM16_STOP DBG_APB_FZ2_DBG_TIM16_STOP /*!< TIM16 counter stopped when core is halted */
  224. #define LL_DBGMCU_APB2_GRP1_TIM17_STOP DBG_APB_FZ2_DBG_TIM17_STOP /*!< TIM17 counter stopped when core is halted */
  225. /**
  226. * @}
  227. */
  228. #if defined(VREFBUF)
  229. /** @defgroup SYSTEM_LL_EC_VOLTAGE VREFBUF VOLTAGE
  230. * @{
  231. */
  232. #define LL_VREFBUF_VOLTAGE_SCALE0 0x00000000U /*!< Voltage reference scale 0 (VREF_OUT1) */
  233. #define LL_VREFBUF_VOLTAGE_SCALE1 VREFBUF_CSR_VRS /*!< Voltage reference scale 1 (VREF_OUT2) */
  234. /**
  235. * @}
  236. */
  237. #endif /* VREFBUF */
  238. /** @defgroup SYSTEM_LL_EC_LATENCY FLASH LATENCY
  239. * @{
  240. */
  241. #define LL_FLASH_LATENCY_0 0x00000000U /*!< FLASH Zero Latency cycle */
  242. #define LL_FLASH_LATENCY_1 FLASH_ACR_LATENCY_0 /*!< FLASH One Latency cycle */
  243. #define LL_FLASH_LATENCY_2 FLASH_ACR_LATENCY_1 /*!< FLASH Two wait states */
  244. #define LL_FLASH_LATENCY_3 (FLASH_ACR_LATENCY_1 | FLASH_ACR_LATENCY_0) /*!< FLASH Three wait states */
  245. /**
  246. * @}
  247. */
  248. /**
  249. * @}
  250. */
  251. /* Exported macro ------------------------------------------------------------*/
  252. /* Exported functions --------------------------------------------------------*/
  253. /** @defgroup SYSTEM_LL_Exported_Functions SYSTEM Exported Functions
  254. * @{
  255. */
  256. /** @defgroup SYSTEM_LL_EF_SYSCFG SYSCFG
  257. * @{
  258. */
  259. /**
  260. * @brief Set memory mapping at address 0x00000000
  261. * @rmtoll SYSCFG_CFGR1 MEM_MODE LL_SYSCFG_SetRemapMemory
  262. * @param Memory This parameter can be one of the following values:
  263. * @arg @ref LL_SYSCFG_REMAP_FLASH
  264. * @arg @ref LL_SYSCFG_REMAP_SYSTEMFLASH
  265. * @arg @ref LL_SYSCFG_REMAP_SRAM
  266. * @retval None
  267. */
  268. __STATIC_INLINE void LL_SYSCFG_SetRemapMemory(uint32_t Memory)
  269. {
  270. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_MEM_MODE, Memory);
  271. }
  272. /**
  273. * @brief Get memory mapping at address 0x00000000
  274. * @rmtoll SYSCFG_CFGR1 MEM_MODE LL_SYSCFG_GetRemapMemory
  275. * @retval Returned value can be one of the following values:
  276. * @arg @ref LL_SYSCFG_REMAP_FLASH
  277. * @arg @ref LL_SYSCFG_REMAP_SYSTEMFLASH
  278. * @arg @ref LL_SYSCFG_REMAP_SRAM
  279. */
  280. __STATIC_INLINE uint32_t LL_SYSCFG_GetRemapMemory(void)
  281. {
  282. return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_MEM_MODE));
  283. }
  284. /**
  285. * @brief Enable remap of a pin on different pad
  286. * @rmtoll SYSCFG_CFGR1 PA11_RMP LL_SYSCFG_EnablePinRemap\n
  287. * SYSCFG_CFGR1 PA12_RMP LL_SYSCFG_EnablePinRemap\n
  288. * @param PinRemap This parameter can be a combination of the following values:
  289. * @arg @ref LL_SYSCFG_PIN_RMP_PA11
  290. * @arg @ref LL_SYSCFG_PIN_RMP_PA12
  291. * @retval None
  292. */
  293. __STATIC_INLINE void LL_SYSCFG_EnablePinRemap(uint32_t PinRemap)
  294. {
  295. SET_BIT(SYSCFG->CFGR1, PinRemap);
  296. }
  297. /**
  298. * @brief Enable remap of a pin on different pad
  299. * @rmtoll SYSCFG_CFGR1 PA11_RMP LL_SYSCFG_DisablePinRemap\n
  300. * SYSCFG_CFGR1 PA12_RMP LL_SYSCFG_DisablePinRemap\n
  301. * @param PinRemap This parameter can be a combination of the following values:
  302. * @arg @ref LL_SYSCFG_PIN_RMP_PA11
  303. * @arg @ref LL_SYSCFG_PIN_RMP_PA12
  304. * @retval None
  305. */
  306. __STATIC_INLINE void LL_SYSCFG_DisablePinRemap(uint32_t PinRemap)
  307. {
  308. CLEAR_BIT(SYSCFG->CFGR1, PinRemap);
  309. }
  310. #if defined(SYSCFG_CFGR1_IR_MOD)
  311. /**
  312. * @brief Set IR Modulation Envelope signal source.
  313. * @rmtoll SYSCFG_CFGR1 IR_MOD LL_SYSCFG_SetIRModEnvelopeSignal
  314. * @param Source This parameter can be one of the following values:
  315. * @arg @ref LL_SYSCFG_IR_MOD_TIM16
  316. * @arg @ref LL_SYSCFG_IR_MOD_USART1
  317. * @arg @ref LL_SYSCFG_IR_MOD_USART4
  318. * @retval None
  319. */
  320. __STATIC_INLINE void LL_SYSCFG_SetIRModEnvelopeSignal(uint32_t Source)
  321. {
  322. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_MOD, Source);
  323. }
  324. /**
  325. * @brief Get IR Modulation Envelope signal source.
  326. * @rmtoll SYSCFG_CFGR1 IR_MOD LL_SYSCFG_GetIRModEnvelopeSignal
  327. * @retval Returned value can be one of the following values:
  328. * @arg @ref LL_SYSCFG_IR_MOD_TIM16
  329. * @arg @ref LL_SYSCFG_IR_MOD_USART1
  330. * @arg @ref LL_SYSCFG_IR_MOD_USART4
  331. */
  332. __STATIC_INLINE uint32_t LL_SYSCFG_GetIRModEnvelopeSignal(void)
  333. {
  334. return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_MOD));
  335. }
  336. /**
  337. * @brief Set IR Output polarity.
  338. * @rmtoll SYSCFG_CFGR1 IR_POL LL_SYSCFG_SetIRPolarity
  339. * @param Polarity This parameter can be one of the following values:
  340. * @arg @ref LL_SYSCFG_IR_POL_INVERTED
  341. * @arg @ref LL_SYSCFG_IR_POL_NOT_INVERTED
  342. * @retval None
  343. */
  344. __STATIC_INLINE void LL_SYSCFG_SetIRPolarity(uint32_t Polarity)
  345. {
  346. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_POL, Polarity);
  347. }
  348. /**
  349. * @brief Get IR Output polarity.
  350. * @rmtoll SYSCFG_CFGR1 IR_POL LL_SYSCFG_GetIRPolarity
  351. * @retval Returned value can be one of the following values:
  352. * @arg @ref LL_SYSCFG_IR_POL_INVERTED
  353. * @arg @ref LL_SYSCFG_IR_POL_NOT_INVERTED
  354. */
  355. __STATIC_INLINE uint32_t LL_SYSCFG_GetIRPolarity(void)
  356. {
  357. return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_POL));
  358. }
  359. #endif /* SYSCFG_CFGR1_IR_MOD */
  360. #if defined(SYSCFG_CFGR1_BOOSTEN)
  361. /**
  362. * @brief Enable I/O analog switch voltage booster.
  363. * @note When voltage booster is enabled, I/O analog switches are supplied
  364. * by a dedicated voltage booster, from VDD power domain. This is
  365. * the recommended configuration with low VDDA voltage operation.
  366. * @note The I/O analog switch voltage booster is relevant for peripherals
  367. * using I/O in analog input: ADC, COMP.
  368. * However, COMP and OPAMP inputs have a high impedance and
  369. * voltage booster do not impact performance significantly.
  370. * Therefore, the voltage booster is mainly intended for
  371. * usage with ADC.
  372. * @rmtoll SYSCFG_CFGR1 BOOSTEN LL_SYSCFG_EnableAnalogBooster
  373. * @retval None
  374. */
  375. __STATIC_INLINE void LL_SYSCFG_EnableAnalogBooster(void)
  376. {
  377. SET_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_BOOSTEN);
  378. }
  379. /**
  380. * @brief Disable I/O analog switch voltage booster.
  381. * @note When voltage booster is enabled, I/O analog switches are supplied
  382. * by a dedicated voltage booster, from VDD power domain. This is
  383. * the recommended configuration with low VDDA voltage operation.
  384. * @note The I/O analog switch voltage booster is relevant for peripherals
  385. * using I/O in analog input: ADC, COMP.
  386. * However, COMP and OPAMP inputs have a high impedance and
  387. * voltage booster do not impact performance significantly.
  388. * Therefore, the voltage booster is mainly intended for
  389. * usage with ADC.
  390. * @rmtoll SYSCFG_CFGR1 BOOSTEN LL_SYSCFG_DisableAnalogBooster
  391. * @retval None
  392. */
  393. __STATIC_INLINE void LL_SYSCFG_DisableAnalogBooster(void)
  394. {
  395. CLEAR_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_BOOSTEN);
  396. }
  397. #endif /* SYSCFG_CFGR1_BOOSTEN */
  398. /**
  399. * @brief Enable the I2C fast mode plus driving capability.
  400. * @rmtoll SYSCFG_CFGR1 I2C_FMP_PB6 LL_SYSCFG_EnableFastModePlus\n
  401. * SYSCFG_CFGR1 I2C_FMP_PB7 LL_SYSCFG_EnableFastModePlus\n
  402. * SYSCFG_CFGR1 I2C_FMP_PB8 LL_SYSCFG_EnableFastModePlus\n
  403. * SYSCFG_CFGR1 I2C_FMP_PB9 LL_SYSCFG_EnableFastModePlus\n
  404. * SYSCFG_CFGR1 I2C_FMP_I2C1 LL_SYSCFG_EnableFastModePlus\n
  405. * SYSCFG_CFGR1 I2C_FMP_I2C2 LL_SYSCFG_EnableFastModePlus\n
  406. * SYSCFG_CFGR1 I2C_FMP_I2C3 LL_SYSCFG_EnableFastModePlus\n
  407. * SYSCFG_CFGR1 I2C_FMP_PA9 LL_SYSCFG_EnableFastModePlus\n
  408. * SYSCFG_CFGR1 I2C_FMP_PA10 LL_SYSCFG_EnableFastModePlus
  409. * @param ConfigFastModePlus This parameter can be a combination of the following values:
  410. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB6
  411. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB7
  412. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB8
  413. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB9
  414. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 (*)
  415. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C2 (*)
  416. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C3 (*)
  417. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA9 (*)
  418. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA10 (*)
  419. *
  420. * (*) value not defined in all devices
  421. * @retval None
  422. */
  423. __STATIC_INLINE void LL_SYSCFG_EnableFastModePlus(uint32_t ConfigFastModePlus)
  424. {
  425. SET_BIT(SYSCFG->CFGR1, ConfigFastModePlus);
  426. }
  427. /**
  428. * @brief Disable the I2C fast mode plus driving capability.
  429. * @rmtoll SYSCFG_CFGR1 I2C_FMP_PB6 LL_SYSCFG_DisableFastModePlus\n
  430. * SYSCFG_CFGR1 I2C_FMP_PB7 LL_SYSCFG_DisableFastModePlus\n
  431. * SYSCFG_CFGR1 I2C_FMP_PB8 LL_SYSCFG_DisableFastModePlus\n
  432. * SYSCFG_CFGR1 I2C_FMP_PB9 LL_SYSCFG_DisableFastModePlus\n
  433. * SYSCFG_CFGR1 I2C_FMP_I2C1 LL_SYSCFG_DisableFastModePlus\n
  434. * SYSCFG_CFGR1 I2C_FMP_I2C2 LL_SYSCFG_DisableFastModePlus\n
  435. * SYSCFG_CFGR1 I2C_FMP_I2C3 LL_SYSCFG_DisableFastModePlus\n
  436. * SYSCFG_CFGR1 I2C_FMP_PA9 LL_SYSCFG_DisableFastModePlus\n
  437. * SYSCFG_CFGR1 I2C_FMP_PA10 LL_SYSCFG_DisableFastModePlus
  438. * @param ConfigFastModePlus This parameter can be a combination of the following values:
  439. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB6
  440. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB7
  441. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB8
  442. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB9
  443. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 (*)
  444. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C2 (*)
  445. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C3 (*)
  446. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA9 (*)
  447. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA10 (*)
  448. *
  449. * (*) value not defined in all devices
  450. * @retval None
  451. */
  452. __STATIC_INLINE void LL_SYSCFG_DisableFastModePlus(uint32_t ConfigFastModePlus)
  453. {
  454. CLEAR_BIT(SYSCFG->CFGR1, ConfigFastModePlus);
  455. }
  456. #if defined(SYSCFG_CFGR1_UCPD1_STROBE) || defined(SYSCFG_CFGR1_UCPD2_STROBE)
  457. /**
  458. * @brief Disable dead battery behavior
  459. * @rmtoll SYSCFG_CFGR1 UCPD1_STROBE LL_SYSCFG_DisableDBATT\n
  460. * SYSCFG_CFGR1 UCPD2_STROBE LL_SYSCFG_DisableDBATT
  461. * @param ConfigDeadBattery This parameter can be a combination of the following values:
  462. * @arg @ref LL_SYSCFG_UCPD1_STROBE\n
  463. * @arg @ref LL_SYSCFG_UCPD2_STROBE
  464. * (*) value not defined in all devices
  465. * @retval None
  466. */
  467. __STATIC_INLINE void LL_SYSCFG_DisableDBATT(uint32_t ConfigDeadBattery)
  468. {
  469. SET_BIT(SYSCFG->CFGR1, ConfigDeadBattery);
  470. }
  471. #endif /* SYSCFG_CFGR1_UCPD1_STROBE || SYSCFG_CFGR1_UCPD2_STROBE */
  472. #if defined(SYSCFG_ITLINE0_SR_EWDG)
  473. /**
  474. * @brief Check if Window watchdog interrupt occurred or not.
  475. * @rmtoll SYSCFG_ITLINE0 SR_EWDG LL_SYSCFG_IsActiveFlag_WWDG
  476. * @retval State of bit (1 or 0).
  477. */
  478. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_WWDG(void)
  479. {
  480. return ((READ_BIT(SYSCFG->IT_LINE_SR[0], SYSCFG_ITLINE0_SR_EWDG) == (SYSCFG_ITLINE0_SR_EWDG)) ? 1UL : 0UL);
  481. }
  482. #endif /* SYSCFG_ITLINE0_SR_EWDG */
  483. #if defined (PWR_PVD_SUPPORT)
  484. /**
  485. * @brief Check if PVD supply monitoring interrupt occurred or not (EXTI line 16).
  486. * @rmtoll SYSCFG_ITLINE1 SR_PVDOUT LL_SYSCFG_IsActiveFlag_PVDOUT
  487. * @retval State of bit (1 or 0).
  488. */
  489. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVDOUT(void)
  490. {
  491. return ((READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVDOUT) == (SYSCFG_ITLINE1_SR_PVDOUT)) ? 1UL : 0UL);
  492. }
  493. #endif /* PWR_PVD_SUPPORT */
  494. #if defined (PWR_PVM_SUPPORT)
  495. /**
  496. * @brief Check if VDDUSB supply monitoring interrupt occurred or not (EXTI line 34).
  497. * @rmtoll SYSCFG_ITLINE1 SR_PVMOUT LL_SYSCFG_IsActiveFlag_PVMOUT
  498. * @retval State of bit (1 or 0).
  499. */
  500. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVMOUT(void)
  501. {
  502. return ((READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVMOUT) == (SYSCFG_ITLINE1_SR_PVMOUT)) ? 1UL : 0UL);
  503. }
  504. #endif /* PWR_PVM_SUPPORT */
  505. #if defined(SYSCFG_ITLINE2_SR_RTC)
  506. /**
  507. * @brief Check if RTC Wake Up interrupt occurred or not (EXTI line 19).
  508. * @rmtoll SYSCFG_ITLINE2 SR_RTC_WAKEUP LL_SYSCFG_IsActiveFlag_RTC_WAKEUP
  509. * @retval State of bit (1 or 0).
  510. */
  511. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RTC_WAKEUP(void)
  512. {
  513. return ((READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_RTC) == (SYSCFG_ITLINE2_SR_RTC)) ? 1UL : 0UL);
  514. }
  515. #endif /* SYSCFG_ITLINE2_SR_RTC */
  516. #if defined(SYSCFG_ITLINE2_SR_TAMPER)
  517. /**
  518. * @brief Check if RTC Tamper and TimeStamp interrupt occurred or not (EXTI line 21).
  519. * @rmtoll SYSCFG_ITLINE2 SR_TAMPER LL_SYSCFG_IsActiveFlag_TAMPER
  520. * @retval State of bit (1 or 0).
  521. */
  522. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TAMPER(void)
  523. {
  524. return ((READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_TAMPER) == (SYSCFG_ITLINE2_SR_TAMPER)) ? 1UL : 0UL);
  525. }
  526. #endif /* SYSCFG_ITLINE2_SR_TAMPER */
  527. #if defined(SYSCFG_ITLINE3_SR_FLASH_ITF)
  528. /**
  529. * @brief Check if Flash interface interrupt occurred or not.
  530. * @rmtoll SYSCFG_ITLINE3 SR_FLASH_ITF LL_SYSCFG_IsActiveFlag_FLASH_ITF
  531. * @retval State of bit (1 or 0).
  532. */
  533. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FLASH_ITF(void)
  534. {
  535. return ((READ_BIT(SYSCFG->IT_LINE_SR[3], SYSCFG_ITLINE3_SR_FLASH_ITF) == (SYSCFG_ITLINE3_SR_FLASH_ITF)) ? 1UL : 0UL);
  536. }
  537. #endif /* SYSCFG_ITLINE3_SR_FLASH_ITF */
  538. #if defined(SYSCFG_ITLINE3_SR_FLASH_ECC)
  539. /**
  540. * @brief Check if Flash interface interrupt occurred or not.
  541. * @rmtoll SYSCFG_ITLINE3 SR_FLASH_ECC LL_SYSCFG_IsActiveFlag_FLASH_ECC
  542. * @retval State of bit (1 or 0).
  543. */
  544. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FLASH_ECC(void)
  545. {
  546. return ((READ_BIT(SYSCFG->IT_LINE_SR[3], SYSCFG_ITLINE3_SR_FLASH_ECC) == (SYSCFG_ITLINE3_SR_FLASH_ECC)) ? 1UL : 0UL);
  547. }
  548. #endif /* SYSCFG_ITLINE3_SR_FLASH_ECC */
  549. #if defined(SYSCFG_ITLINE4_SR_CLK_CTRL)
  550. /**
  551. * @brief Check if Reset and clock control interrupt occurred or not.
  552. * @rmtoll SYSCFG_ITLINE4 SR_CLK_CTRL LL_SYSCFG_IsActiveFlag_CLK_CTRL
  553. * @retval State of bit (1 or 0).
  554. */
  555. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CLK_CTRL(void)
  556. {
  557. return ((READ_BIT(SYSCFG->IT_LINE_SR[4], SYSCFG_ITLINE4_SR_CLK_CTRL) == (SYSCFG_ITLINE4_SR_CLK_CTRL)) ? 1UL : 0UL);
  558. }
  559. #endif /* SYSCFG_ITLINE4_SR_CLK_CTRL */
  560. #if defined(CRS)
  561. /**
  562. * @brief Check if Reset and clock control interrupt occurred or not.
  563. * @rmtoll SYSCFG_ITLINE4 SR_CRS LL_SYSCFG_IsActiveFlag_CRS
  564. * @retval State of bit (1 or 0).
  565. */
  566. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CRS(void)
  567. {
  568. return ((READ_BIT(SYSCFG->IT_LINE_SR[4], SYSCFG_ITLINE4_SR_CRS) == (SYSCFG_ITLINE4_SR_CRS)) ? 1UL : 0UL);
  569. }
  570. #endif /* CRS */
  571. #if defined(SYSCFG_ITLINE5_SR_EXTI0)
  572. /**
  573. * @brief Check if EXTI line 0 interrupt occurred or not.
  574. * @rmtoll SYSCFG_ITLINE5 SR_EXTI0 LL_SYSCFG_IsActiveFlag_EXTI0
  575. * @retval State of bit (1 or 0).
  576. */
  577. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI0(void)
  578. {
  579. return ((READ_BIT(SYSCFG->IT_LINE_SR[5], SYSCFG_ITLINE5_SR_EXTI0) == (SYSCFG_ITLINE5_SR_EXTI0)) ? 1UL : 0UL);
  580. }
  581. #endif /* SYSCFG_ITLINE5_SR_EXTI0 */
  582. #if defined(SYSCFG_ITLINE5_SR_EXTI1)
  583. /**
  584. * @brief Check if EXTI line 1 interrupt occurred or not.
  585. * @rmtoll SYSCFG_ITLINE5 SR_EXTI1 LL_SYSCFG_IsActiveFlag_EXTI1
  586. * @retval State of bit (1 or 0).
  587. */
  588. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI1(void)
  589. {
  590. return ((READ_BIT(SYSCFG->IT_LINE_SR[5], SYSCFG_ITLINE5_SR_EXTI1) == (SYSCFG_ITLINE5_SR_EXTI1)) ? 1UL : 0UL);
  591. }
  592. #endif /* SYSCFG_ITLINE5_SR_EXTI1 */
  593. #if defined(SYSCFG_ITLINE6_SR_EXTI2)
  594. /**
  595. * @brief Check if EXTI line 2 interrupt occurred or not.
  596. * @rmtoll SYSCFG_ITLINE6 SR_EXTI2 LL_SYSCFG_IsActiveFlag_EXTI2
  597. * @retval State of bit (1 or 0).
  598. */
  599. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI2(void)
  600. {
  601. return ((READ_BIT(SYSCFG->IT_LINE_SR[6], SYSCFG_ITLINE6_SR_EXTI2) == (SYSCFG_ITLINE6_SR_EXTI2)) ? 1UL : 0UL);
  602. }
  603. #endif /* SYSCFG_ITLINE6_SR_EXTI2 */
  604. #if defined(SYSCFG_ITLINE6_SR_EXTI3)
  605. /**
  606. * @brief Check if EXTI line 3 interrupt occurred or not.
  607. * @rmtoll SYSCFG_ITLINE6 SR_EXTI3 LL_SYSCFG_IsActiveFlag_EXTI3
  608. * @retval State of bit (1 or 0).
  609. */
  610. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI3(void)
  611. {
  612. return ((READ_BIT(SYSCFG->IT_LINE_SR[6], SYSCFG_ITLINE6_SR_EXTI3) == (SYSCFG_ITLINE6_SR_EXTI3)) ? 1UL : 0UL);
  613. }
  614. #endif /* SYSCFG_ITLINE6_SR_EXTI3 */
  615. #if defined(SYSCFG_ITLINE7_SR_EXTI4)
  616. /**
  617. * @brief Check if EXTI line 4 interrupt occurred or not.
  618. * @rmtoll SYSCFG_ITLINE7 SR_EXTI4 LL_SYSCFG_IsActiveFlag_EXTI4
  619. * @retval State of bit (1 or 0).
  620. */
  621. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI4(void)
  622. {
  623. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI4) == (SYSCFG_ITLINE7_SR_EXTI4)) ? 1UL : 0UL);
  624. }
  625. #endif /* SYSCFG_ITLINE7_SR_EXTI4 */
  626. #if defined(SYSCFG_ITLINE7_SR_EXTI5)
  627. /**
  628. * @brief Check if EXTI line 5 interrupt occurred or not.
  629. * @rmtoll SYSCFG_ITLINE7 SR_EXTI5 LL_SYSCFG_IsActiveFlag_EXTI5
  630. * @retval State of bit (1 or 0).
  631. */
  632. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI5(void)
  633. {
  634. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI5) == (SYSCFG_ITLINE7_SR_EXTI5)) ? 1UL : 0UL);
  635. }
  636. #endif /* SYSCFG_ITLINE7_SR_EXTI5 */
  637. #if defined(SYSCFG_ITLINE7_SR_EXTI6)
  638. /**
  639. * @brief Check if EXTI line 6 interrupt occurred or not.
  640. * @rmtoll SYSCFG_ITLINE7 SR_EXTI6 LL_SYSCFG_IsActiveFlag_EXTI6
  641. * @retval State of bit (1 or 0).
  642. */
  643. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI6(void)
  644. {
  645. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI6) == (SYSCFG_ITLINE7_SR_EXTI6)) ? 1UL : 0UL);
  646. }
  647. #endif /* SYSCFG_ITLINE7_SR_EXTI6 */
  648. #if defined(SYSCFG_ITLINE7_SR_EXTI7)
  649. /**
  650. * @brief Check if EXTI line 7 interrupt occurred or not.
  651. * @rmtoll SYSCFG_ITLINE7 SR_EXTI7 LL_SYSCFG_IsActiveFlag_EXTI7
  652. * @retval State of bit (1 or 0).
  653. */
  654. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI7(void)
  655. {
  656. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI7) == (SYSCFG_ITLINE7_SR_EXTI7)) ? 1UL : 0UL);
  657. }
  658. #endif /* SYSCFG_ITLINE7_SR_EXTI7 */
  659. #if defined(SYSCFG_ITLINE7_SR_EXTI8)
  660. /**
  661. * @brief Check if EXTI line 8 interrupt occurred or not.
  662. * @rmtoll SYSCFG_ITLINE7 SR_EXTI8 LL_SYSCFG_IsActiveFlag_EXTI8
  663. * @retval State of bit (1 or 0).
  664. */
  665. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI8(void)
  666. {
  667. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI8) == (SYSCFG_ITLINE7_SR_EXTI8)) ? 1UL : 0UL);
  668. }
  669. #endif /* SYSCFG_ITLINE7_SR_EXTI8 */
  670. #if defined(SYSCFG_ITLINE7_SR_EXTI9)
  671. /**
  672. * @brief Check if EXTI line 9 interrupt occurred or not.
  673. * @rmtoll SYSCFG_ITLINE7 SR_EXTI9 LL_SYSCFG_IsActiveFlag_EXTI9
  674. * @retval State of bit (1 or 0).
  675. */
  676. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI9(void)
  677. {
  678. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI9) == (SYSCFG_ITLINE7_SR_EXTI9)) ? 1UL : 0UL);
  679. }
  680. #endif /* SYSCFG_ITLINE7_SR_EXTI9 */
  681. #if defined(SYSCFG_ITLINE7_SR_EXTI10)
  682. /**
  683. * @brief Check if EXTI line 10 interrupt occurred or not.
  684. * @rmtoll SYSCFG_ITLINE7 SR_EXTI10 LL_SYSCFG_IsActiveFlag_EXTI10
  685. * @retval State of bit (1 or 0).
  686. */
  687. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI10(void)
  688. {
  689. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI10) == (SYSCFG_ITLINE7_SR_EXTI10)) ? 1UL : 0UL);
  690. }
  691. #endif /* SYSCFG_ITLINE7_SR_EXTI10 */
  692. #if defined(SYSCFG_ITLINE7_SR_EXTI11)
  693. /**
  694. * @brief Check if EXTI line 11 interrupt occurred or not.
  695. * @rmtoll SYSCFG_ITLINE7 SR_EXTI11 LL_SYSCFG_IsActiveFlag_EXTI11
  696. * @retval State of bit (1 or 0).
  697. */
  698. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI11(void)
  699. {
  700. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI11) == (SYSCFG_ITLINE7_SR_EXTI11)) ? 1UL : 0UL);
  701. }
  702. #endif /* SYSCFG_ITLINE7_SR_EXTI11 */
  703. #if defined(SYSCFG_ITLINE7_SR_EXTI12)
  704. /**
  705. * @brief Check if EXTI line 12 interrupt occurred or not.
  706. * @rmtoll SYSCFG_ITLINE7 SR_EXTI12 LL_SYSCFG_IsActiveFlag_EXTI12
  707. * @retval State of bit (1 or 0).
  708. */
  709. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI12(void)
  710. {
  711. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI12) == (SYSCFG_ITLINE7_SR_EXTI12)) ? 1UL : 0UL);
  712. }
  713. #endif /* SYSCFG_ITLINE7_SR_EXTI12 */
  714. #if defined(SYSCFG_ITLINE7_SR_EXTI13)
  715. /**
  716. * @brief Check if EXTI line 13 interrupt occurred or not.
  717. * @rmtoll SYSCFG_ITLINE7 SR_EXTI13 LL_SYSCFG_IsActiveFlag_EXTI13
  718. * @retval State of bit (1 or 0).
  719. */
  720. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI13(void)
  721. {
  722. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI13) == (SYSCFG_ITLINE7_SR_EXTI13)) ? 1UL : 0UL);
  723. }
  724. #endif /* SYSCFG_ITLINE7_SR_EXTI13 */
  725. #if defined(SYSCFG_ITLINE7_SR_EXTI14)
  726. /**
  727. * @brief Check if EXTI line 14 interrupt occurred or not.
  728. * @rmtoll SYSCFG_ITLINE7 SR_EXTI14 LL_SYSCFG_IsActiveFlag_EXTI14
  729. * @retval State of bit (1 or 0).
  730. */
  731. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI14(void)
  732. {
  733. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI14) == (SYSCFG_ITLINE7_SR_EXTI14)) ? 1UL : 0UL);
  734. }
  735. #endif /* SYSCFG_ITLINE7_SR_EXTI14 */
  736. #if defined(SYSCFG_ITLINE7_SR_EXTI15)
  737. /**
  738. * @brief Check if EXTI line 15 interrupt occurred or not.
  739. * @rmtoll SYSCFG_ITLINE7 SR_EXTI15 LL_SYSCFG_IsActiveFlag_EXTI15
  740. * @retval State of bit (1 or 0).
  741. */
  742. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI15(void)
  743. {
  744. return ((READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI15) == (SYSCFG_ITLINE7_SR_EXTI15)) ? 1UL : 0UL);
  745. }
  746. #endif /* SYSCFG_ITLINE7_SR_EXTI15 */
  747. #if defined(SYSCFG_ITLINE8_SR_UCPD1)
  748. /**
  749. * @brief Check if UCPD1 interrupt occurred or not.
  750. * @rmtoll SYSCFG_ITLINE8 SR_UCPD1 LL_SYSCFG_IsActiveFlag_UCPD1
  751. * @retval State of bit (1 or 0).
  752. */
  753. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_UCPD1(void)
  754. {
  755. return ((READ_BIT(SYSCFG->IT_LINE_SR[8], SYSCFG_ITLINE8_SR_UCPD1) == (SYSCFG_ITLINE8_SR_UCPD1)) ? 1UL : 0UL);
  756. }
  757. #endif /* SYSCFG_ITLINE8_SR_UCPD1 */
  758. #if defined(SYSCFG_ITLINE8_SR_UCPD2)
  759. /**
  760. * @brief Check if UCPD2 interrupt occurred or not.
  761. * @rmtoll SYSCFG_ITLINE8 SR_UCPD2 LL_SYSCFG_IsActiveFlag_UCPD2
  762. * @retval State of bit (1 or 0).
  763. */
  764. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_UCPD2(void)
  765. {
  766. return ((READ_BIT(SYSCFG->IT_LINE_SR[8], SYSCFG_ITLINE8_SR_UCPD2) == (SYSCFG_ITLINE8_SR_UCPD2)) ? 1UL : 0UL);
  767. }
  768. #endif /* SYSCFG_ITLINE8_SR_UCPD2 */
  769. #if defined(SYSCFG_ITLINE8_SR_USB)
  770. /**
  771. * @brief Check if USB interrupt occurred or not.
  772. * @rmtoll SYSCFG_ITLINE8 SR_USB LL_SYSCFG_IsActiveFlag_USB
  773. * @retval State of bit (1 or 0).
  774. */
  775. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USB(void)
  776. {
  777. return ((READ_BIT(SYSCFG->IT_LINE_SR[8], SYSCFG_ITLINE8_SR_USB) == (SYSCFG_ITLINE8_SR_USB)) ? 1UL : 0UL);
  778. }
  779. #endif /* SYSCFG_ITLINE8_SR_USB */
  780. #if defined(SYSCFG_ITLINE9_SR_DMA1_CH1)
  781. /**
  782. * @brief Check if DMA1 channel 1 interrupt occurred or not.
  783. * @rmtoll SYSCFG_ITLINE9 SR_DMA1_CH1 LL_SYSCFG_IsActiveFlag_DMA1_CH1
  784. * @retval State of bit (1 or 0).
  785. */
  786. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH1(void)
  787. {
  788. return ((READ_BIT(SYSCFG->IT_LINE_SR[9], SYSCFG_ITLINE9_SR_DMA1_CH1) == (SYSCFG_ITLINE9_SR_DMA1_CH1)) ? 1UL : 0UL);
  789. }
  790. #endif /* SYSCFG_ITLINE9_SR_DMA1_CH1 */
  791. #if defined(SYSCFG_ITLINE10_SR_DMA1_CH2)
  792. /**
  793. * @brief Check if DMA1 channel 2 interrupt occurred or not.
  794. * @rmtoll SYSCFG_ITLINE10 SR_DMA1_CH2 LL_SYSCFG_IsActiveFlag_DMA1_CH2
  795. * @retval State of bit (1 or 0).
  796. */
  797. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH2(void)
  798. {
  799. return ((READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA1_CH2) == (SYSCFG_ITLINE10_SR_DMA1_CH2)) ? 1UL : 0UL);
  800. }
  801. #endif /* SYSCFG_ITLINE10_SR_DMA1_CH2 */
  802. #if defined(SYSCFG_ITLINE10_SR_DMA1_CH3)
  803. /**
  804. * @brief Check if DMA1 channel 3 interrupt occurred or not.
  805. * @rmtoll SYSCFG_ITLINE10 SR_DMA1_CH3 LL_SYSCFG_IsActiveFlag_DMA1_CH3
  806. * @retval State of bit (1 or 0).
  807. */
  808. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH3(void)
  809. {
  810. return ((READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA1_CH3) == (SYSCFG_ITLINE10_SR_DMA1_CH3)) ? 1UL : 0UL);
  811. }
  812. #endif /* SYSCFG_ITLINE10_SR_DMA1_CH3 */
  813. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH4)
  814. /**
  815. * @brief Check if DMA1 channel 4 interrupt occurred or not.
  816. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH4 LL_SYSCFG_IsActiveFlag_DMA1_CH4
  817. * @retval State of bit (1 or 0).
  818. */
  819. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH4(void)
  820. {
  821. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH4) == (SYSCFG_ITLINE11_SR_DMA1_CH4)) ? 1UL : 0UL);
  822. }
  823. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH4 */
  824. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH5)
  825. /**
  826. * @brief Check if DMA1 channel 5 interrupt occurred or not.
  827. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH5 LL_SYSCFG_IsActiveFlag_DMA1_CH5
  828. * @retval State of bit (1 or 0).
  829. */
  830. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH5(void)
  831. {
  832. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH5) == (SYSCFG_ITLINE11_SR_DMA1_CH5)) ? 1UL : 0UL);
  833. }
  834. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH5 */
  835. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH6)
  836. /**
  837. * @brief Check if DMA1 channel 6 interrupt occurred or not.
  838. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH6 LL_SYSCFG_IsActiveFlag_DMA1_CH6
  839. * @retval State of bit (1 or 0).
  840. */
  841. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH6(void)
  842. {
  843. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH6) == (SYSCFG_ITLINE11_SR_DMA1_CH6)) ? 1UL : 0UL);
  844. }
  845. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH6 */
  846. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH7)
  847. /**
  848. * @brief Check if DMA1 channel 7 interrupt occurred or not.
  849. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH7 LL_SYSCFG_IsActiveFlag_DMA1_CH7
  850. * @retval State of bit (1 or 0).
  851. */
  852. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH7(void)
  853. {
  854. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH7) == (SYSCFG_ITLINE11_SR_DMA1_CH7)) ? 1UL : 0UL);
  855. }
  856. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH7 */
  857. #if defined(SYSCFG_ITLINE11_SR_DMAMUX1)
  858. /**
  859. * @brief Check if DMAMUX interrupt occurred or not.
  860. * @rmtoll SYSCFG_ITLINE11 SR_DMAMUX1 LL_SYSCFG_IsActiveFlag_DMAMUX
  861. * @retval State of bit (1 or 0).
  862. */
  863. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMAMUX(void)
  864. {
  865. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMAMUX1) == (SYSCFG_ITLINE11_SR_DMAMUX1)) ? 1UL : 0UL);
  866. }
  867. #endif /* SYSCFG_ITLINE11_SR_DMAMUX */
  868. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH1)
  869. /**
  870. * @brief Check if DMA2_CH1 interrupt occurred or not.
  871. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH1 LL_SYSCFG_IsActiveFlag_DMA2_CH1
  872. * @retval State of bit (1 or 0).
  873. */
  874. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH1(void)
  875. {
  876. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH1) == (SYSCFG_ITLINE11_SR_DMA2_CH1)) ? 1UL : 0UL);
  877. }
  878. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH1 */
  879. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH2)
  880. /**
  881. * @brief Check if DMA2_CH2 interrupt occurred or not.
  882. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH2 LL_SYSCFG_IsActiveFlag_DMA2_CH2
  883. * @retval State of bit (1 or 0).
  884. */
  885. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH2(void)
  886. {
  887. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH2) == (SYSCFG_ITLINE11_SR_DMA2_CH2)) ? 1UL : 0UL);
  888. }
  889. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH2 */
  890. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH3)
  891. /**
  892. * @brief Check if DMA2_CH3 interrupt occurred or not.
  893. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH3 LL_SYSCFG_IsActiveFlag_DMA2_CH3
  894. * @retval State of bit (1 or 0).
  895. */
  896. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH3(void)
  897. {
  898. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH3) == (SYSCFG_ITLINE11_SR_DMA2_CH3)) ? 1UL : 0UL);
  899. }
  900. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH3 */
  901. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH4)
  902. /**
  903. * @brief Check if DMA2_CH4 interrupt occurred or not.
  904. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH4 LL_SYSCFG_IsActiveFlag_DMA2_CH4
  905. * @retval State of bit (1 or 0).
  906. */
  907. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH4(void)
  908. {
  909. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH4) == (SYSCFG_ITLINE11_SR_DMA2_CH4)) ? 1UL : 0UL);
  910. }
  911. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH4 */
  912. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH5)
  913. /**
  914. * @brief Check if DMA2_CH5 interrupt occurred or not.
  915. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH5 LL_SYSCFG_IsActiveFlag_DMA2_CH5
  916. * @retval State of bit (1 or 0).
  917. */
  918. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH5(void)
  919. {
  920. return ((READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH5) == (SYSCFG_ITLINE11_SR_DMA2_CH5)) ? 1UL : 0UL);
  921. }
  922. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH5 */
  923. #if defined(SYSCFG_ITLINE12_SR_ADC)
  924. /**
  925. * @brief Check if ADC interrupt occurred or not.
  926. * @rmtoll SYSCFG_ITLINE12 SR_ADC LL_SYSCFG_IsActiveFlag_ADC
  927. * @retval State of bit (1 or 0).
  928. */
  929. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_ADC(void)
  930. {
  931. return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_ADC) == (SYSCFG_ITLINE12_SR_ADC)) ? 1UL : 0UL);
  932. }
  933. #endif /* SYSCFG_ITLINE12_SR_ADC */
  934. #if defined(SYSCFG_ITLINE12_SR_COMP1)
  935. /**
  936. * @brief Check if Comparator 1 interrupt occurred or not (EXTI line 17).
  937. * @rmtoll SYSCFG_ITLINE12 SR_COMP1 LL_SYSCFG_IsActiveFlag_COMP1
  938. * @retval State of bit (1 or 0).
  939. */
  940. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP1(void)
  941. {
  942. return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP1) == (SYSCFG_ITLINE12_SR_COMP1)) ? 1UL : 0UL);
  943. }
  944. #endif /* SYSCFG_ITLINE12_SR_COMP1 */
  945. #if defined(SYSCFG_ITLINE12_SR_COMP2)
  946. /**
  947. * @brief Check if Comparator 2 interrupt occurred or not (EXTI line 18).
  948. * @rmtoll SYSCFG_ITLINE12 SR_COMP2 LL_SYSCFG_IsActiveFlag_COMP2
  949. * @retval State of bit (1 or 0).
  950. */
  951. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP2(void)
  952. {
  953. return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP2) == (SYSCFG_ITLINE12_SR_COMP2)) ? 1UL : 0UL);
  954. }
  955. #endif /* SYSCFG_ITLINE12_SR_COMP2 */
  956. #if defined(SYSCFG_ITLINE12_SR_COMP3)
  957. /**
  958. * @brief Check if Comparator 3 interrupt occurred or not (EXTI line 20).
  959. * @rmtoll SYSCFG_ITLINE12 SR_COMP3 LL_SYSCFG_IsActiveFlag_COMP3
  960. * @retval State of bit (1 or 0).
  961. */
  962. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP3(void)
  963. {
  964. return ((READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP3) == (SYSCFG_ITLINE12_SR_COMP3)) ? 1UL : 0UL);
  965. }
  966. #endif /* SYSCFG_ITLINE12_SR_COMP3 */
  967. #if defined(SYSCFG_ITLINE13_SR_TIM1_BRK)
  968. /**
  969. * @brief Check if Timer 1 break interrupt occurred or not.
  970. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_BRK LL_SYSCFG_IsActiveFlag_TIM1_BRK
  971. * @retval State of bit (1 or 0).
  972. */
  973. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_BRK(void)
  974. {
  975. return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_BRK) == (SYSCFG_ITLINE13_SR_TIM1_BRK)) ? 1UL : 0UL);
  976. }
  977. #endif /* SYSCFG_ITLINE13_SR_TIM1_BRK */
  978. #if defined(SYSCFG_ITLINE13_SR_TIM1_UPD)
  979. /**
  980. * @brief Check if Timer 1 update interrupt occurred or not.
  981. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_UPD LL_SYSCFG_IsActiveFlag_TIM1_UPD
  982. * @retval State of bit (1 or 0).
  983. */
  984. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_UPD(void)
  985. {
  986. return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_UPD) == (SYSCFG_ITLINE13_SR_TIM1_UPD)) ? 1UL : 0UL);
  987. }
  988. #endif /* SYSCFG_ITLINE13_SR_TIM1_UPD */
  989. #if defined(SYSCFG_ITLINE13_SR_TIM1_TRG)
  990. /**
  991. * @brief Check if Timer 1 trigger interrupt occurred or not.
  992. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_TRG LL_SYSCFG_IsActiveFlag_TIM1_TRG
  993. * @retval State of bit (1 or 0).
  994. */
  995. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_TRG(void)
  996. {
  997. return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_TRG) == (SYSCFG_ITLINE13_SR_TIM1_TRG)) ? 1UL : 0UL);
  998. }
  999. #endif /* SYSCFG_ITLINE13_SR_TIM1_TRG */
  1000. #if defined(SYSCFG_ITLINE13_SR_TIM1_CCU)
  1001. /**
  1002. * @brief Check if Timer 1 commutation interrupt occurred or not.
  1003. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_CCU LL_SYSCFG_IsActiveFlag_TIM1_CCU
  1004. * @retval State of bit (1 or 0).
  1005. */
  1006. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CCU(void)
  1007. {
  1008. return ((READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_CCU) == (SYSCFG_ITLINE13_SR_TIM1_CCU)) ? 1UL : 0UL);
  1009. }
  1010. #endif /* SYSCFG_ITLINE13_SR_TIM1_CCU */
  1011. #if defined(SYSCFG_ITLINE14_SR_TIM1_CC)
  1012. /**
  1013. * @brief Check if Timer 1 capture compare interrupt occurred or not.
  1014. * @rmtoll SYSCFG_ITLINE14 SR_TIM1_CC LL_SYSCFG_IsActiveFlag_TIM1_CC
  1015. * @retval State of bit (1 or 0).
  1016. */
  1017. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CC(void)
  1018. {
  1019. return ((READ_BIT(SYSCFG->IT_LINE_SR[14], SYSCFG_ITLINE14_SR_TIM1_CC) == (SYSCFG_ITLINE14_SR_TIM1_CC)) ? 1UL : 0UL);
  1020. }
  1021. #endif /* SYSCFG_ITLINE14_SR_TIM1_CC */
  1022. #if defined(SYSCFG_ITLINE15_SR_TIM2_GLB)
  1023. /**
  1024. * @brief Check if Timer 2 interrupt occurred or not.
  1025. * @rmtoll SYSCFG_ITLINE15 SR_TIM2_GLB LL_SYSCFG_IsActiveFlag_TIM2
  1026. * @retval State of bit (1 or 0).
  1027. */
  1028. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM2(void)
  1029. {
  1030. return ((READ_BIT(SYSCFG->IT_LINE_SR[15], SYSCFG_ITLINE15_SR_TIM2_GLB) == (SYSCFG_ITLINE15_SR_TIM2_GLB)) ? 1UL : 0UL);
  1031. }
  1032. #endif /* SYSCFG_ITLINE15_SR_TIM2_GLB */
  1033. #if defined(SYSCFG_ITLINE16_SR_TIM3_GLB)
  1034. /**
  1035. * @brief Check if Timer 3 interrupt occurred or not.
  1036. * @rmtoll SYSCFG_ITLINE16 SR_TIM3_GLB LL_SYSCFG_IsActiveFlag_TIM3
  1037. * @retval State of bit (1 or 0).
  1038. */
  1039. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM3(void)
  1040. {
  1041. return ((READ_BIT(SYSCFG->IT_LINE_SR[16], SYSCFG_ITLINE16_SR_TIM3_GLB) == (SYSCFG_ITLINE16_SR_TIM3_GLB)) ? 1UL : 0UL);
  1042. }
  1043. #endif /* SYSCFG_ITLINE16_SR_TIM3_GLB */
  1044. #if defined(SYSCFG_ITLINE16_SR_TIM4_GLB)
  1045. /**
  1046. * @brief Check if Timer 3 interrupt occurred or not.
  1047. * @rmtoll SYSCFG_ITLINE16 SR_TIM4_GLB LL_SYSCFG_IsActiveFlag_TIM4
  1048. * @retval State of bit (1 or 0).
  1049. */
  1050. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM4(void)
  1051. {
  1052. return ((READ_BIT(SYSCFG->IT_LINE_SR[16], SYSCFG_ITLINE16_SR_TIM4_GLB) == (SYSCFG_ITLINE16_SR_TIM4_GLB)) ? 1UL : 0UL);
  1053. }
  1054. #endif /* SYSCFG_ITLINE16_SR_TIM4_GLB */
  1055. #if defined(SYSCFG_ITLINE17_SR_DAC)
  1056. /**
  1057. * @brief Check if DAC underrun interrupt occurred or not.
  1058. * @rmtoll SYSCFG_ITLINE17 SR_DAC LL_SYSCFG_IsActiveFlag_DAC
  1059. * @retval State of bit (1 or 0).
  1060. */
  1061. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DAC(void)
  1062. {
  1063. return ((READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_DAC) == (SYSCFG_ITLINE17_SR_DAC)) ? 1UL : 0UL);
  1064. }
  1065. #endif /* SYSCFG_ITLINE17_SR_DAC */
  1066. #if defined(SYSCFG_ITLINE17_SR_TIM6_GLB)
  1067. /**
  1068. * @brief Check if Timer 6 interrupt occurred or not.
  1069. * @rmtoll SYSCFG_ITLINE17 SR_TIM6_GLB LL_SYSCFG_IsActiveFlag_TIM6
  1070. * @retval State of bit (1 or 0).
  1071. */
  1072. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM6(void)
  1073. {
  1074. return ((READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_TIM6_GLB) == (SYSCFG_ITLINE17_SR_TIM6_GLB)) ? 1UL : 0UL);
  1075. }
  1076. #endif /* SYSCFG_ITLINE17_SR_TIM6_GLB */
  1077. #if defined(SYSCFG_ITLINE17_SR_LPTIM1_GLB)
  1078. /**
  1079. * @brief Check if LPTIM1 interrupt occurred or not.
  1080. * @rmtoll SYSCFG_ITLINE17 SR_LPTIM1_GLB LL_SYSCFG_IsActiveFlag_LPTIM1
  1081. * @retval State of bit (1 or 0).
  1082. */
  1083. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPTIM1(void)
  1084. {
  1085. return ((READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_LPTIM1_GLB) == (SYSCFG_ITLINE17_SR_LPTIM1_GLB)) ? 1UL : 0UL);
  1086. }
  1087. #endif /* SYSCFG_ITLINE17_SR_LPTIM1_GLB */
  1088. #if defined(SYSCFG_ITLINE18_SR_TIM7_GLB)
  1089. /**
  1090. * @brief Check if Timer 7 interrupt occurred or not.
  1091. * @rmtoll SYSCFG_ITLINE18 SR_TIM7_GLB LL_SYSCFG_IsActiveFlag_TIM7
  1092. * @retval State of bit (1 or 0).
  1093. */
  1094. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM7(void)
  1095. {
  1096. return ((READ_BIT(SYSCFG->IT_LINE_SR[18], SYSCFG_ITLINE18_SR_TIM7_GLB) == (SYSCFG_ITLINE18_SR_TIM7_GLB)) ? 1UL : 0UL);
  1097. }
  1098. #endif /* SYSCFG_ITLINE18_SR_TIM7_GLB */
  1099. #if defined(SYSCFG_ITLINE18_SR_LPTIM2_GLB)
  1100. /**
  1101. * @brief Check if LPTIM2 interrupt occurred or not.
  1102. * @rmtoll SYSCFG_ITLINE18 SR_LPTIM2_GLB LL_SYSCFG_IsActiveFlag_LPTIM2
  1103. * @retval State of bit (1 or 0).
  1104. */
  1105. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPTIM2(void)
  1106. {
  1107. return ((READ_BIT(SYSCFG->IT_LINE_SR[18], SYSCFG_ITLINE18_SR_LPTIM2_GLB) == (SYSCFG_ITLINE18_SR_LPTIM2_GLB)) ? 1UL : 0UL);
  1108. }
  1109. #endif /* SYSCFG_ITLINE18_SR_LPTIM2_GLB */
  1110. #if defined(SYSCFG_ITLINE19_SR_TIM14_GLB)
  1111. /**
  1112. * @brief Check if Timer 14 interrupt occurred or not.
  1113. * @rmtoll SYSCFG_ITLINE19 SR_TIM14_GLB LL_SYSCFG_IsActiveFlag_TIM14
  1114. * @retval State of bit (1 or 0).
  1115. */
  1116. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM14(void)
  1117. {
  1118. return ((READ_BIT(SYSCFG->IT_LINE_SR[19], SYSCFG_ITLINE19_SR_TIM14_GLB) == (SYSCFG_ITLINE19_SR_TIM14_GLB)) ? 1UL : 0UL);
  1119. }
  1120. #endif /* SYSCFG_ITLINE19_SR_TIM14_GLB */
  1121. #if defined(SYSCFG_ITLINE20_SR_TIM15_GLB)
  1122. /**
  1123. * @brief Check if Timer 15 interrupt occurred or not.
  1124. * @rmtoll SYSCFG_ITLINE20 SR_TIM15_GLB LL_SYSCFG_IsActiveFlag_TIM15
  1125. * @retval State of bit (1 or 0).
  1126. */
  1127. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM15(void)
  1128. {
  1129. return ((READ_BIT(SYSCFG->IT_LINE_SR[20], SYSCFG_ITLINE20_SR_TIM15_GLB) == (SYSCFG_ITLINE20_SR_TIM15_GLB)) ? 1UL : 0UL);
  1130. }
  1131. #endif /* SYSCFG_ITLINE20_SR_TIM15_GLB */
  1132. #if defined(SYSCFG_ITLINE21_SR_TIM16_GLB)
  1133. /**
  1134. * @brief Check if Timer 16 interrupt occurred or not.
  1135. * @rmtoll SYSCFG_ITLINE21 SR_TIM16_GLB LL_SYSCFG_IsActiveFlag_TIM16
  1136. * @retval State of bit (1 or 0).
  1137. */
  1138. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM16(void)
  1139. {
  1140. return ((READ_BIT(SYSCFG->IT_LINE_SR[21], SYSCFG_ITLINE21_SR_TIM16_GLB) == (SYSCFG_ITLINE21_SR_TIM16_GLB)) ? 1UL : 0UL);
  1141. }
  1142. #endif /* SYSCFG_ITLINE21_SR_TIM16_GLB */
  1143. #if defined(SYSCFG_ITLINE21_SR_FDCAN1_IT0)
  1144. /**
  1145. * @brief Check if FDCAN1_IT0 interrupt occurred or not.
  1146. * @rmtoll SYSCFG_ITLINE21 SR_FDCAN1_IT0 LL_SYSCFG_IsActiveFlag_FDCAN1_IT0
  1147. * @retval State of bit (1 or 0).
  1148. */
  1149. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FDCAN1_IT0(void)
  1150. {
  1151. return ((READ_BIT(SYSCFG->IT_LINE_SR[21], SYSCFG_ITLINE21_SR_FDCAN1_IT0) == (SYSCFG_ITLINE21_SR_FDCAN1_IT0)) ? 1UL : 0UL);
  1152. }
  1153. #endif /* SYSCFG_ITLINE21_SR_FDCAN1_IT0 */
  1154. #if defined(SYSCFG_ITLINE21_SR_FDCAN2_IT0)
  1155. /**
  1156. * @brief Check if FDCAN2_IT0 interrupt occurred or not.
  1157. * @rmtoll SYSCFG_ITLINE21 SR_FDCAN2_IT0 LL_SYSCFG_IsActiveFlag_FDCAN2_IT0
  1158. * @retval State of bit (1 or 0).
  1159. */
  1160. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FDCAN2_IT0(void)
  1161. {
  1162. return ((READ_BIT(SYSCFG->IT_LINE_SR[21], SYSCFG_ITLINE21_SR_FDCAN2_IT0) == (SYSCFG_ITLINE21_SR_FDCAN2_IT0)) ? 1UL : 0UL);
  1163. }
  1164. #endif /* SYSCFG_ITLINE21_SR_FDCAN2_IT0 */
  1165. #if defined(SYSCFG_ITLINE22_SR_TIM17_GLB)
  1166. /**
  1167. * @brief Check if Timer 17 interrupt occurred or not.
  1168. * @rmtoll SYSCFG_ITLINE22 SR_TIM17_GLB LL_SYSCFG_IsActiveFlag_TIM17
  1169. * @retval State of bit (1 or 0).
  1170. */
  1171. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM17(void)
  1172. {
  1173. return ((READ_BIT(SYSCFG->IT_LINE_SR[22], SYSCFG_ITLINE22_SR_TIM17_GLB) == (SYSCFG_ITLINE22_SR_TIM17_GLB)) ? 1UL : 0UL);
  1174. }
  1175. #endif /* SYSCFG_ITLINE22_SR_TIM17_GLB */
  1176. #if defined(SYSCFG_ITLINE22_SR_FDCAN1_IT1)
  1177. /**
  1178. * @brief Check if FDCAN1_IT1 interrupt occurred or not.
  1179. * @rmtoll SYSCFG_ITLINE22 SR_FDCAN1_IT1 LL_SYSCFG_IsActiveFlag_FDCAN1_IT1
  1180. * @retval State of bit (1 or 0).
  1181. */
  1182. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FDCAN1_IT1(void)
  1183. {
  1184. return ((READ_BIT(SYSCFG->IT_LINE_SR[22], SYSCFG_ITLINE22_SR_FDCAN1_IT1) == (SYSCFG_ITLINE22_SR_FDCAN1_IT1)) ? 1UL : 0UL);
  1185. }
  1186. #endif /* SYSCFG_ITLINE22_SR_FDCAN1_IT1 */
  1187. #if defined(SYSCFG_ITLINE22_SR_FDCAN2_IT1)
  1188. /**
  1189. * @brief Check if FDCAN2_IT1 interrupt occurred or not.
  1190. * @rmtoll SYSCFG_ITLINE22 SR_FDCAN2_IT1 LL_SYSCFG_IsActiveFlag_FDCAN2_IT1
  1191. * @retval State of bit (1 or 0).
  1192. */
  1193. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FDCAN2_IT1(void)
  1194. {
  1195. return ((READ_BIT(SYSCFG->IT_LINE_SR[22], SYSCFG_ITLINE22_SR_FDCAN2_IT1) == (SYSCFG_ITLINE22_SR_FDCAN2_IT1)) ? 1UL : 0UL);
  1196. }
  1197. #endif /* SYSCFG_ITLINE22_SR_FDCAN2_IT1 */
  1198. #if defined(SYSCFG_ITLINE23_SR_I2C1_GLB)
  1199. /**
  1200. * @brief Check if I2C1 interrupt occurred or not, combined with EXTI line 23.
  1201. * @rmtoll SYSCFG_ITLINE23 SR_I2C1_GLB LL_SYSCFG_IsActiveFlag_I2C1
  1202. * @retval State of bit (1 or 0).
  1203. */
  1204. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C1(void)
  1205. {
  1206. return ((READ_BIT(SYSCFG->IT_LINE_SR[23], SYSCFG_ITLINE23_SR_I2C1_GLB) == (SYSCFG_ITLINE23_SR_I2C1_GLB)) ? 1UL : 0UL);
  1207. }
  1208. #endif /* SYSCFG_ITLINE23_SR_I2C1_GLB */
  1209. #if defined(SYSCFG_ITLINE24_SR_I2C2_GLB)
  1210. /**
  1211. * @brief Check if I2C2 interrupt occurred or not.
  1212. * @rmtoll SYSCFG_ITLINE24 SR_I2C2_GLB LL_SYSCFG_IsActiveFlag_I2C2
  1213. * @retval State of bit (1 or 0).
  1214. */
  1215. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C2(void)
  1216. {
  1217. return ((READ_BIT(SYSCFG->IT_LINE_SR[24], SYSCFG_ITLINE24_SR_I2C2_GLB) == (SYSCFG_ITLINE24_SR_I2C2_GLB)) ? 1UL : 0UL);
  1218. }
  1219. #endif /* SYSCFG_ITLINE24_SR_I2C2_GLB */
  1220. #if defined(SYSCFG_ITLINE24_SR_I2C3_GLB)
  1221. /**
  1222. * @brief Check if I2C3 interrupt occurred or not.
  1223. * @rmtoll SYSCFG_ITLINE24 SR_I2C3_GLB LL_SYSCFG_IsActiveFlag_I2C3
  1224. * @retval State of bit (1 or 0).
  1225. */
  1226. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C3(void)
  1227. {
  1228. return ((READ_BIT(SYSCFG->IT_LINE_SR[24], SYSCFG_ITLINE24_SR_I2C3_GLB) == (SYSCFG_ITLINE24_SR_I2C3_GLB)) ? 1UL : 0UL);
  1229. }
  1230. #endif /* SYSCFG_ITLINE24_SR_I2C3_GLB */
  1231. #if defined(SYSCFG_ITLINE25_SR_SPI1)
  1232. /**
  1233. * @brief Check if SPI1 interrupt occurred or not.
  1234. * @rmtoll SYSCFG_ITLINE25 SR_SPI1 LL_SYSCFG_IsActiveFlag_SPI1
  1235. * @retval State of bit (1 or 0).
  1236. */
  1237. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI1(void)
  1238. {
  1239. return ((READ_BIT(SYSCFG->IT_LINE_SR[25], SYSCFG_ITLINE25_SR_SPI1) == (SYSCFG_ITLINE25_SR_SPI1)) ? 1UL : 0UL);
  1240. }
  1241. #endif /* SYSCFG_ITLINE25_SR_SPI1 */
  1242. #if defined(SYSCFG_ITLINE26_SR_SPI2)
  1243. /**
  1244. * @brief Check if SPI2 interrupt occurred or not.
  1245. * @rmtoll SYSCFG_ITLINE26 SR_SPI2 LL_SYSCFG_IsActiveFlag_SPI2
  1246. * @retval State of bit (1 or 0).
  1247. */
  1248. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI2(void)
  1249. {
  1250. return ((READ_BIT(SYSCFG->IT_LINE_SR[26], SYSCFG_ITLINE26_SR_SPI2) == (SYSCFG_ITLINE26_SR_SPI2)) ? 1UL : 0UL);
  1251. }
  1252. #endif /* SYSCFG_ITLINE26_SR_SPI2 */
  1253. #if defined(SYSCFG_ITLINE26_SR_SPI3)
  1254. /**
  1255. * @brief Check if SPI3 interrupt occurred or not.
  1256. * @rmtoll SYSCFG_ITLINE26 SR_SPI3 LL_SYSCFG_IsActiveFlag_SPI3
  1257. * @retval State of bit (1 or 0).
  1258. */
  1259. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI3(void)
  1260. {
  1261. return ((READ_BIT(SYSCFG->IT_LINE_SR[26], SYSCFG_ITLINE26_SR_SPI3) == (SYSCFG_ITLINE26_SR_SPI3)) ? 1UL : 0UL);
  1262. }
  1263. #endif /* SYSCFG_ITLINE26_SR_SPI3 */
  1264. #if defined(SYSCFG_ITLINE27_SR_USART1_GLB)
  1265. /**
  1266. * @brief Check if USART1 interrupt occurred or not, combined with EXTI line 25.
  1267. * @rmtoll SYSCFG_ITLINE27 SR_USART1_GLB LL_SYSCFG_IsActiveFlag_USART1
  1268. * @retval State of bit (1 or 0).
  1269. */
  1270. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART1(void)
  1271. {
  1272. return ((READ_BIT(SYSCFG->IT_LINE_SR[27], SYSCFG_ITLINE27_SR_USART1_GLB) == (SYSCFG_ITLINE27_SR_USART1_GLB)) ? 1UL : 0UL);
  1273. }
  1274. #endif /* SYSCFG_ITLINE27_SR_USART1_GLB */
  1275. #if defined(SYSCFG_ITLINE28_SR_USART2_GLB)
  1276. /**
  1277. * @brief Check if USART2 interrupt occurred or not, combined with EXTI line 26.
  1278. * @rmtoll SYSCFG_ITLINE28 SR_USART2_GLB LL_SYSCFG_IsActiveFlag_USART2
  1279. * @retval State of bit (1 or 0).
  1280. */
  1281. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART2(void)
  1282. {
  1283. return ((READ_BIT(SYSCFG->IT_LINE_SR[28], SYSCFG_ITLINE28_SR_USART2_GLB) == (SYSCFG_ITLINE28_SR_USART2_GLB)) ? 1UL : 0UL);
  1284. }
  1285. #endif /* SYSCFG_ITLINE28_SR_USART2_GLB */
  1286. #if defined(SYSCFG_ITLINE28_SR_LPUART2_GLB)
  1287. /**
  1288. * @brief Check if LPUART2 interrupt occurred or not, combined with EXTI line 26.
  1289. * @rmtoll SYSCFG_ITLINE28 SR_LPUART2_GLB LL_SYSCFG_IsActiveFlag_LPUART2
  1290. * @retval State of bit (1 or 0).
  1291. */
  1292. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPUART2(void)
  1293. {
  1294. return ((READ_BIT(SYSCFG->IT_LINE_SR[28], SYSCFG_ITLINE28_SR_LPUART2_GLB) == (SYSCFG_ITLINE28_SR_LPUART2_GLB)) ? 1UL : 0UL);
  1295. }
  1296. #endif /* SYSCFG_ITLINE28_SR_LPUART2_GLB */
  1297. #if defined(SYSCFG_ITLINE29_SR_USART3_GLB)
  1298. /**
  1299. * @brief Check if USART3 interrupt occurred or not, combined with EXTI line 28.
  1300. * @rmtoll SYSCFG_ITLINE29 SR_USART3_GLB LL_SYSCFG_IsActiveFlag_USART3
  1301. * @retval State of bit (1 or 0).
  1302. */
  1303. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART3(void)
  1304. {
  1305. return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART3_GLB) == (SYSCFG_ITLINE29_SR_USART3_GLB)) ? 1UL : 0UL);
  1306. }
  1307. #endif /* SYSCFG_ITLINE29_SR_USART3_GLB */
  1308. #if defined(SYSCFG_ITLINE29_SR_USART4_GLB)
  1309. /**
  1310. * @brief Check if USART4 interrupt occurred or not.
  1311. * @rmtoll SYSCFG_ITLINE29 SR_USART4_GLB LL_SYSCFG_IsActiveFlag_USART4
  1312. * @retval State of bit (1 or 0).
  1313. */
  1314. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART4(void)
  1315. {
  1316. return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART4_GLB) == (SYSCFG_ITLINE29_SR_USART4_GLB)) ? 1UL : 0UL);
  1317. }
  1318. #endif /* SYSCFG_ITLINE29_SR_USART4_GLB */
  1319. #if defined(SYSCFG_ITLINE29_SR_LPUART1_GLB)
  1320. /**
  1321. * @brief Check if LPUART1 interrupt occurred or not.
  1322. * @rmtoll SYSCFG_ITLINE29 SR_LPUART1_GLB LL_SYSCFG_IsActiveFlag_LPUART1
  1323. * @retval State of bit (1 or 0).
  1324. */
  1325. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_LPUART1(void)
  1326. {
  1327. return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_LPUART1_GLB) == (SYSCFG_ITLINE29_SR_LPUART1_GLB)) ? 1UL : 0UL);
  1328. }
  1329. #endif /* SYSCFG_ITLINE29_SR_LPUART1_GLB */
  1330. #if defined(SYSCFG_ITLINE29_SR_USART5_GLB)
  1331. /**
  1332. * @brief Check if USART5 interrupt occurred or not.
  1333. * @rmtoll SYSCFG_ITLINE29 SR_USART5_GLB LL_SYSCFG_IsActiveFlag_USART5
  1334. * @retval State of bit (1 or 0).
  1335. */
  1336. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART5(void)
  1337. {
  1338. return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART5_GLB) == (SYSCFG_ITLINE29_SR_USART5_GLB)) ? 1UL : 0UL);
  1339. }
  1340. #endif /* SYSCFG_ITLINE29_SR_USART5_GLB */
  1341. #if defined(SYSCFG_ITLINE29_SR_USART6_GLB)
  1342. /**
  1343. * @brief Check if USART6 interrupt occurred or not.
  1344. * @rmtoll SYSCFG_ITLINE29 SR_USART6_GLB LL_SYSCFG_IsActiveFlag_USART6
  1345. * @retval State of bit (1 or 0).
  1346. */
  1347. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART6(void)
  1348. {
  1349. return ((READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART6_GLB) == (SYSCFG_ITLINE29_SR_USART6_GLB)) ? 1UL : 0UL);
  1350. }
  1351. #endif /* SYSCFG_ITLINE29_SR_USART6_GLB */
  1352. #if defined(SYSCFG_ITLINE30_SR_CEC)
  1353. /**
  1354. * @brief Check if CEC interrupt occurred or not, combined with EXTI line 27.
  1355. * @rmtoll SYSCFG_ITLINE30 SR_CEC LL_SYSCFG_IsActiveFlag_CEC
  1356. * @retval State of bit (1 or 0).
  1357. */
  1358. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CEC(void)
  1359. {
  1360. return ((READ_BIT(SYSCFG->IT_LINE_SR[30], SYSCFG_ITLINE30_SR_CEC) == (SYSCFG_ITLINE30_SR_CEC)) ? 1UL : 0UL);
  1361. }
  1362. #endif /* SYSCFG_ITLINE30_SR_CEC */
  1363. #if defined(SYSCFG_ITLINE31_SR_AES)
  1364. /**
  1365. * @brief Check if AES interrupt occurred or not
  1366. * @rmtoll SYSCFG_ITLINE31 SR_AES LL_SYSCFG_IsActiveFlag_AES
  1367. * @retval State of bit (1 or 0).
  1368. */
  1369. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_AES(void)
  1370. {
  1371. return ((READ_BIT(SYSCFG->IT_LINE_SR[31], SYSCFG_ITLINE31_SR_AES) == (SYSCFG_ITLINE31_SR_AES)) ? 1UL : 0UL);
  1372. }
  1373. #endif /* SYSCFG_ITLINE31_SR_AES */
  1374. #if defined(SYSCFG_ITLINE31_SR_RNG)
  1375. /**
  1376. * @brief Check if RNG interrupt occurred or not, combined with EXTI line 31.
  1377. * @rmtoll SYSCFG_ITLINE31 SR_RNG LL_SYSCFG_IsActiveFlag_RNG
  1378. * @retval State of bit (1 or 0).
  1379. */
  1380. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RNG(void)
  1381. {
  1382. return ((READ_BIT(SYSCFG->IT_LINE_SR[31], SYSCFG_ITLINE31_SR_RNG) == (SYSCFG_ITLINE31_SR_RNG)) ? 1UL : 0UL);
  1383. }
  1384. #endif /* SYSCFG_ITLINE31_SR_RNG */
  1385. /**
  1386. * @brief Set connections to TIM1/15/16/17 Break inputs
  1387. * @rmtoll SYSCFG_CFGR2 CLL LL_SYSCFG_SetTIMBreakInputs\n
  1388. * SYSCFG_CFGR2 SPL LL_SYSCFG_SetTIMBreakInputs\n
  1389. * SYSCFG_CFGR2 PVDL LL_SYSCFG_SetTIMBreakInputs\n
  1390. * SYSCFG_CFGR2 ECCL LL_SYSCFG_GetTIMBreakInputs
  1391. * @param Break This parameter can be a combination of the following values:
  1392. * @ifnot STM32G070xx
  1393. * @arg @ref LL_SYSCFG_TIMBREAK_PVD (*)
  1394. * @endif
  1395. * @arg @ref LL_SYSCFG_TIMBREAK_SRAM_PARITY
  1396. * @arg @ref LL_SYSCFG_TIMBREAK_LOCKUP
  1397. * @arg @ref LL_SYSCFG_TIMBREAK_ECC
  1398. *
  1399. * (*) value not defined in all devices
  1400. * @retval None
  1401. */
  1402. __STATIC_INLINE void LL_SYSCFG_SetTIMBreakInputs(uint32_t Break)
  1403. {
  1404. #if defined(SYSCFG_CFGR2_PVDL)
  1405. MODIFY_REG(SYSCFG->CFGR2, SYSCFG_CFGR2_CLL | SYSCFG_CFGR2_SPL | SYSCFG_CFGR2_PVDL | SYSCFG_CFGR2_ECCL, Break);
  1406. #else
  1407. MODIFY_REG(SYSCFG->CFGR2, SYSCFG_CFGR2_CLL | SYSCFG_CFGR2_SPL | SYSCFG_CFGR2_ECCL, Break);
  1408. #endif /*SYSCFG_CFGR2_PVDL*/
  1409. }
  1410. /**
  1411. * @brief Get connections to TIM1/15/16/17 Break inputs
  1412. * @rmtoll SYSCFG_CFGR2 CLL LL_SYSCFG_GetTIMBreakInputs\n
  1413. * SYSCFG_CFGR2 SPL LL_SYSCFG_GetTIMBreakInputs\n
  1414. * SYSCFG_CFGR2 PVDL LL_SYSCFG_GetTIMBreakInputs\n
  1415. * SYSCFG_CFGR2 ECCL LL_SYSCFG_GetTIMBreakInputs
  1416. * @retval Returned value can be can be a combination of the following values:
  1417. * @ifnot STM32G070xx
  1418. * @arg @ref LL_SYSCFG_TIMBREAK_PVD (*)
  1419. * @endif
  1420. * @arg @ref LL_SYSCFG_TIMBREAK_SRAM_PARITY
  1421. * @arg @ref LL_SYSCFG_TIMBREAK_LOCKUP
  1422. * @arg @ref LL_SYSCFG_TIMBREAK_ECC
  1423. *
  1424. * (*) value not defined in all devices
  1425. */
  1426. __STATIC_INLINE uint32_t LL_SYSCFG_GetTIMBreakInputs(void)
  1427. {
  1428. #if defined(SYSCFG_CFGR2_PVDL)
  1429. return (uint32_t)(READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_CLL | SYSCFG_CFGR2_SPL | SYSCFG_CFGR2_PVDL | SYSCFG_CFGR2_ECCL));
  1430. #else
  1431. return (uint32_t)(READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_CLL | SYSCFG_CFGR2_SPL | SYSCFG_CFGR2_ECCL));
  1432. #endif /*SYSCFG_CFGR2_PVDL*/
  1433. }
  1434. /**
  1435. * @brief Check if SRAM parity error detected
  1436. * @rmtoll SYSCFG_CFGR2 SPF LL_SYSCFG_IsActiveFlag_SP
  1437. * @retval State of bit (1 or 0).
  1438. */
  1439. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SP(void)
  1440. {
  1441. return ((READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_SPF) == (SYSCFG_CFGR2_SPF)) ? 1UL : 0UL);
  1442. }
  1443. /**
  1444. * @brief Clear SRAM parity error flag
  1445. * @rmtoll SYSCFG_CFGR2 SPF LL_SYSCFG_ClearFlag_SP
  1446. * @retval None
  1447. */
  1448. __STATIC_INLINE void LL_SYSCFG_ClearFlag_SP(void)
  1449. {
  1450. SET_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_SPF);
  1451. }
  1452. #if defined(SYSCFG_CDEN_SUPPORT)
  1453. /**
  1454. * @brief Enable Clamping Diode on specific pin
  1455. * @rmtoll SYSCFG_CFGR2 PA1_CDEN LL_SYSCFG_EnableClampingDiode\n
  1456. * SYSCFG_CFGR2 PA3_CDEN LL_SYSCFG_EnableClampingDiode\n
  1457. * SYSCFG_CFGR2 PA5_CDEN LL_SYSCFG_EnableClampingDiode\n
  1458. * SYSCFG_CFGR2 PA6_CDEN LL_SYSCFG_EnableClampingDiode\n
  1459. * SYSCFG_CFGR2 PA13_CDEN LL_SYSCFG_EnableClampingDiode\n
  1460. * SYSCFG_CFGR2 PB0_CDEN LL_SYSCFG_EnableClampingDiode\n
  1461. * SYSCFG_CFGR2 PB1_CDEN LL_SYSCFG_EnableClampingDiode\n
  1462. * SYSCFG_CFGR1 PB2_CDEN LL_SYSCFG_EnableClampingDiode
  1463. * @param ConfigClampingDiode This parameter can be a combination of the following values:
  1464. * @arg @ref LL_SYSCFG_CFGR2_PA1_CDEN
  1465. * @arg @ref LL_SYSCFG_CFGR2_PA3_CDEN
  1466. * @arg @ref LL_SYSCFG_CFGR2_PA5_CDEN
  1467. * @arg @ref LL_SYSCFG_CFGR2_PA6_CDEN
  1468. * @arg @ref LL_SYSCFG_CFGR2_PA13_CDEN
  1469. * @arg @ref LL_SYSCFG_CFGR2_PB0_CDEN
  1470. * @arg @ref LL_SYSCFG_CFGR2_PB1_CDEN
  1471. * @arg @ref LL_SYSCFG_CFGR2_PB2_CDEN
  1472. * @retval None
  1473. */
  1474. __STATIC_INLINE void LL_SYSCFG_EnableClampingDiode(uint32_t ConfigClampingDiode)
  1475. {
  1476. SET_BIT(SYSCFG->CFGR2, ConfigClampingDiode);
  1477. }
  1478. /**
  1479. * @brief Disable Clamping Diode on specific pin
  1480. * @rmtoll SYSCFG_CFGR2 PA1_CDEN LL_SYSCFG_DisableClampingDiode\n
  1481. * SYSCFG_CFGR2 PA3_CDEN LL_SYSCFG_DisableClampingDiode\n
  1482. * SYSCFG_CFGR2 PA5_CDEN LL_SYSCFG_DisableClampingDiode\n
  1483. * SYSCFG_CFGR2 PA6_CDEN LL_SYSCFG_DisableClampingDiode\n
  1484. * SYSCFG_CFGR2 PA13_CDEN LL_SYSCFG_DisableClampingDiode\n
  1485. * SYSCFG_CFGR2 PB0_CDEN LL_SYSCFG_DisableClampingDiode\n
  1486. * SYSCFG_CFGR2 PB1_CDEN LL_SYSCFG_DisableClampingDiode\n
  1487. * SYSCFG_CFGR1 PB2_CDEN LL_SYSCFG_DisableClampingDiode
  1488. * @param ConfigClampingDiode This parameter can be a combination of the following values:
  1489. * @arg @ref LL_SYSCFG_CFGR2_PA1_CDEN
  1490. * @arg @ref LL_SYSCFG_CFGR2_PA3_CDEN
  1491. * @arg @ref LL_SYSCFG_CFGR2_PA5_CDEN
  1492. * @arg @ref LL_SYSCFG_CFGR2_PA6_CDEN
  1493. * @arg @ref LL_SYSCFG_CFGR2_PA13_CDEN
  1494. * @arg @ref LL_SYSCFG_CFGR2_PB0_CDEN
  1495. * @arg @ref LL_SYSCFG_CFGR2_PB1_CDEN
  1496. * @arg @ref LL_SYSCFG_CFGR2_PB2_CDEN
  1497. * @retval None
  1498. */
  1499. __STATIC_INLINE void LL_SYSCFG_DisableClampingDiode(uint32_t ConfigClampingDiode)
  1500. {
  1501. CLEAR_BIT(SYSCFG->CFGR2, ConfigClampingDiode);
  1502. }
  1503. /**
  1504. * @brief Indicates whether clamping diode(s) is(are) enabled.
  1505. * @rmtoll SYSCFG_CFGR2 PA1_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1506. * SYSCFG_CFGR2 PA3_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1507. * SYSCFG_CFGR2 PA5_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1508. * SYSCFG_CFGR2 PA6_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1509. * SYSCFG_CFGR2 PA13_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1510. * SYSCFG_CFGR2 PB0_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1511. * SYSCFG_CFGR2 PB1_CDEN LL_SYSCFG_IsEnabledClampingDiode\n
  1512. * SYSCFG_CFGR1 PB2_CDEN LL_SYSCFG_IsEnabledClampingDiode
  1513. * @param ConfigClampingDiode This parameter can be a combination of the following values:
  1514. * @arg @ref LL_SYSCFG_CFGR2_PA1_CDEN
  1515. * @arg @ref LL_SYSCFG_CFGR2_PA3_CDEN
  1516. * @arg @ref LL_SYSCFG_CFGR2_PA5_CDEN
  1517. * @arg @ref LL_SYSCFG_CFGR2_PA6_CDEN
  1518. * @arg @ref LL_SYSCFG_CFGR2_PA13_CDEN
  1519. * @arg @ref LL_SYSCFG_CFGR2_PB0_CDEN
  1520. * @arg @ref LL_SYSCFG_CFGR2_PB1_CDEN
  1521. * @arg @ref LL_SYSCFG_CFGR2_PB2_CDEN
  1522. * @retval None
  1523. */
  1524. __STATIC_INLINE uint32_t LL_SYSCFG_IsEnabledClampingDiode(uint32_t ConfigClampingDiode)
  1525. {
  1526. return ((READ_BIT(SYSCFG->CFGR2, ConfigClampingDiode) == (ConfigClampingDiode)) ? 1UL : 0UL);
  1527. }
  1528. #endif /* SYSCFG_CDEN_SUPPORT */
  1529. /**
  1530. * @}
  1531. */
  1532. /** @defgroup SYSTEM_LL_EF_DBGMCU DBGMCU
  1533. * @{
  1534. */
  1535. /**
  1536. * @brief Return the device identifier
  1537. * @note For STM32G081xx devices, the device ID is 0x460
  1538. * @rmtoll DBG_IDCODE DEV_ID LL_DBGMCU_GetDeviceID
  1539. * @retval Values between Min_Data=0x00 and Max_Data=0xFFF
  1540. */
  1541. __STATIC_INLINE uint32_t LL_DBGMCU_GetDeviceID(void)
  1542. {
  1543. return (uint32_t)(READ_BIT(DBG->IDCODE, DBG_IDCODE_DEV_ID));
  1544. }
  1545. /**
  1546. * @brief Return the device revision identifier
  1547. * @note This field indicates the revision of the device.
  1548. * @rmtoll DBG_IDCODE REV_ID LL_DBGMCU_GetRevisionID
  1549. * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
  1550. */
  1551. __STATIC_INLINE uint32_t LL_DBGMCU_GetRevisionID(void)
  1552. {
  1553. return (uint32_t)(READ_BIT(DBG->IDCODE, DBG_IDCODE_REV_ID) >> DBG_IDCODE_REV_ID_Pos);
  1554. }
  1555. /**
  1556. * @brief Enable the Debug Module during STOP mode
  1557. * @rmtoll DBG_CR DBG_STOP LL_DBGMCU_EnableDBGStopMode
  1558. * @retval None
  1559. */
  1560. __STATIC_INLINE void LL_DBGMCU_EnableDBGStopMode(void)
  1561. {
  1562. SET_BIT(DBG->CR, DBG_CR_DBG_STOP);
  1563. }
  1564. /**
  1565. * @brief Disable the Debug Module during STOP mode
  1566. * @rmtoll DBG_CR DBG_STOP LL_DBGMCU_DisableDBGStopMode
  1567. * @retval None
  1568. */
  1569. __STATIC_INLINE void LL_DBGMCU_DisableDBGStopMode(void)
  1570. {
  1571. CLEAR_BIT(DBG->CR, DBG_CR_DBG_STOP);
  1572. }
  1573. /**
  1574. * @brief Enable the Debug Module during STANDBY mode
  1575. * @rmtoll DBG_CR DBG_STANDBY LL_DBGMCU_EnableDBGStandbyMode
  1576. * @retval None
  1577. */
  1578. __STATIC_INLINE void LL_DBGMCU_EnableDBGStandbyMode(void)
  1579. {
  1580. SET_BIT(DBG->CR, DBG_CR_DBG_STANDBY);
  1581. }
  1582. /**
  1583. * @brief Disable the Debug Module during STANDBY mode
  1584. * @rmtoll DBG_CR DBG_STANDBY LL_DBGMCU_DisableDBGStandbyMode
  1585. * @retval None
  1586. */
  1587. __STATIC_INLINE void LL_DBGMCU_DisableDBGStandbyMode(void)
  1588. {
  1589. CLEAR_BIT(DBG->CR, DBG_CR_DBG_STANDBY);
  1590. }
  1591. /**
  1592. * @brief Freeze APB1 peripherals (group1 peripherals)
  1593. * @rmtoll DBG_APB_FZ1 DBG_TIM2_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1594. * DBG_APB_FZ1 DBG_TIM3_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1595. * DBG_APB_FZ1 DBG_TIM4_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1596. * DBG_APB_FZ1 DBG_TIM6_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1597. * DBG_APB_FZ1 DBG_TIM7_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1598. * DBG_APB_FZ1 DBG_RTC_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1599. * DBG_APB_FZ1 DBG_WWDG_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1600. * DBG_APB_FZ1 DBG_IWDG_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1601. * DBG_APB_FZ1 DBG_I2C1_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1602. * DBG_APB_FZ1 DBG_I2C2_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1603. * DBG_APB_FZ1 DBG_LPTIM2_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1604. * DBG_APB_FZ1 DBG_LPTIM1_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph
  1605. * @param Periphs This parameter can be a combination of the following values:
  1606. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP (*)
  1607. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
  1608. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM4_STOP (*)
  1609. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP (*)
  1610. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP (*)
  1611. * @arg @ref LL_DBGMCU_APB1_GRP1_RTC_STOP
  1612. * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
  1613. * @arg @ref LL_DBGMCU_APB1_GRP1_IWDG_STOP
  1614. * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
  1615. * @arg @ref LL_DBGMCU_APB1_GRP1_I2C2_STOP (*)
  1616. * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM2_STOP (*)
  1617. * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM1_STOP (*)
  1618. *
  1619. * (*) value not defined in all devices
  1620. * @retval None
  1621. */
  1622. __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_FreezePeriph(uint32_t Periphs)
  1623. {
  1624. SET_BIT(DBG->APBFZ1, Periphs);
  1625. }
  1626. /**
  1627. * @brief Unfreeze APB1 peripherals (group1 peripherals)
  1628. * @rmtoll DBG_APB_FZ1 DBG_TIM2_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1629. * DBG_APB_FZ1 DBG_TIM3_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1630. * DBG_APB_FZ1 DBG_TIM4_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1631. * DBG_APB_FZ1 DBG_TIM6_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1632. * DBG_APB_FZ1 DBG_TIM7_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1633. * DBG_APB_FZ1 DBG_RTC_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1634. * DBG_APB_FZ1 DBG_WWDG_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1635. * DBG_APB_FZ1 DBG_IWDG_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1636. * DBG_APB_FZ1 DBG_I2C1_SMBUS_TIMEOUT LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1637. * DBG_APB_FZ1 DBG_I2C2_SMBUS_TIMEOUT LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1638. * DBG_APB_FZ1 DBG_LPTIM2_SMBUS_TIMEOUT LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1639. * DBG_APB_FZ1 DBG_LPTIM1_SMBUS_TIMEOUT LL_DBGMCU_APB1_GRP1_UnFreezePeriph
  1640. * @param Periphs This parameter can be a combination of the following values:
  1641. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP (*)
  1642. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
  1643. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM4_STOP (*)
  1644. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP (*)
  1645. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP (*)
  1646. * @arg @ref LL_DBGMCU_APB1_GRP1_RTC_STOP
  1647. * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
  1648. * @arg @ref LL_DBGMCU_APB1_GRP1_IWDG_STOP
  1649. * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
  1650. * @arg @ref LL_DBGMCU_APB1_GRP1_I2C2_STOP (*)
  1651. * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM2_STOP (*)
  1652. * @arg @ref LL_DBGMCU_APB1_GRP1_LPTIM1_STOP (*)
  1653. *
  1654. * (*) value not defined in all devices
  1655. * @retval None
  1656. */
  1657. __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_UnFreezePeriph(uint32_t Periphs)
  1658. {
  1659. CLEAR_BIT(DBG->APBFZ1, Periphs);
  1660. }
  1661. /**
  1662. * @brief Freeze APB2 peripherals
  1663. * @rmtoll DBG_APB_FZ2 DBG_TIM1_STOP LL_DBGMCU_APB2_GRP1_FreezePeriph\n
  1664. * DBG_APB_FZ2 DBG_TIM14_STOP LL_DBGMCU_APB2_GRP1_FreezePeriph\n
  1665. * DBG_APB_FZ2 DBG_TIM15_STOP LL_DBGMCU_APB2_GRP1_FreezePeriph\n
  1666. * DBG_APB_FZ2 DBG_TIM16_STOP LL_DBGMCU_APB2_GRP1_FreezePeriph\n
  1667. * DBG_APB_FZ2 DBG_TIM17_STOP LL_DBGMCU_APB2_GRP1_FreezePeriph
  1668. * @param Periphs This parameter can be a combination of the following values:
  1669. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM1_STOP
  1670. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM14_STOP
  1671. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM15_STOP (*)
  1672. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM16_STOP
  1673. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM17_STOP
  1674. *
  1675. * (*) value not defined in all devices
  1676. * @retval None
  1677. */
  1678. __STATIC_INLINE void LL_DBGMCU_APB2_GRP1_FreezePeriph(uint32_t Periphs)
  1679. {
  1680. SET_BIT(DBG->APBFZ2, Periphs);
  1681. }
  1682. /**
  1683. * @brief Unfreeze APB2 peripherals
  1684. * @rmtoll DBG_APB_FZ2 DBG_TIM1_STOP LL_DBGMCU_APB2_GRP1_UnFreezePeriph\n
  1685. * DBG_APB_FZ2 DBG_TIM14_STOP LL_DBGMCU_APB2_GRP1_UnFreezePeriph\n
  1686. * DBG_APB_FZ2 DBG_TIM15_STOP LL_DBGMCU_APB2_GRP1_UnFreezePeriph\n
  1687. * DBG_APB_FZ2 DBG_TIM16_STOP LL_DBGMCU_APB2_GRP1_UnFreezePeriph\n
  1688. * DBG_APB_FZ2 DBG_TIM17_STOP LL_DBGMCU_APB2_GRP1_UnFreezePeriph
  1689. * @param Periphs This parameter can be a combination of the following values:
  1690. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM1_STOP
  1691. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM14_STOP
  1692. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM15_STOP (*)
  1693. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM16_STOP
  1694. * @arg @ref LL_DBGMCU_APB2_GRP1_TIM17_STOP
  1695. *
  1696. * (*) value not defined in all devices
  1697. * @retval None
  1698. */
  1699. __STATIC_INLINE void LL_DBGMCU_APB2_GRP1_UnFreezePeriph(uint32_t Periphs)
  1700. {
  1701. CLEAR_BIT(DBG->APBFZ2, Periphs);
  1702. }
  1703. /**
  1704. * @}
  1705. */
  1706. #if defined(VREFBUF)
  1707. /** @defgroup SYSTEM_LL_EF_VREFBUF VREFBUF
  1708. * @{
  1709. */
  1710. /**
  1711. * @brief Enable Internal voltage reference
  1712. * @rmtoll VREFBUF_CSR VREFBUF_CSR_ENVR LL_VREFBUF_Enable
  1713. * @retval None
  1714. */
  1715. __STATIC_INLINE void LL_VREFBUF_Enable(void)
  1716. {
  1717. SET_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR);
  1718. }
  1719. /**
  1720. * @brief Disable Internal voltage reference
  1721. * @rmtoll VREFBUF_CSR VREFBUF_CSR_ENVR LL_VREFBUF_Disable
  1722. * @retval None
  1723. */
  1724. __STATIC_INLINE void LL_VREFBUF_Disable(void)
  1725. {
  1726. CLEAR_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR);
  1727. }
  1728. /**
  1729. * @brief Enable high impedance (VREF+pin is high impedance)
  1730. * @rmtoll VREFBUF_CSR VREFBUF_CSR_HIZ LL_VREFBUF_EnableHIZ
  1731. * @retval None
  1732. */
  1733. __STATIC_INLINE void LL_VREFBUF_EnableHIZ(void)
  1734. {
  1735. SET_BIT(VREFBUF->CSR, VREFBUF_CSR_HIZ);
  1736. }
  1737. /**
  1738. * @brief Disable high impedance (VREF+pin is internally connected to the voltage reference buffer output)
  1739. * @rmtoll VREFBUF_CSR VREFBUF_CSR_HIZ LL_VREFBUF_DisableHIZ
  1740. * @retval None
  1741. */
  1742. __STATIC_INLINE void LL_VREFBUF_DisableHIZ(void)
  1743. {
  1744. CLEAR_BIT(VREFBUF->CSR, VREFBUF_CSR_HIZ);
  1745. }
  1746. /**
  1747. * @brief Set the Voltage reference scale
  1748. * @rmtoll VREFBUF_CSR VREFBUF_CSR_VRS LL_VREFBUF_SetVoltageScaling
  1749. * @param Scale This parameter can be one of the following values:
  1750. * @arg @ref LL_VREFBUF_VOLTAGE_SCALE0
  1751. * @arg @ref LL_VREFBUF_VOLTAGE_SCALE1
  1752. * @retval None
  1753. */
  1754. __STATIC_INLINE void LL_VREFBUF_SetVoltageScaling(uint32_t Scale)
  1755. {
  1756. MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_VRS, Scale);
  1757. }
  1758. /**
  1759. * @brief Get the Voltage reference scale
  1760. * @rmtoll VREFBUF_CSR VREFBUF_CSR_VRS LL_VREFBUF_GetVoltageScaling
  1761. * @retval Returned value can be one of the following values:
  1762. * @arg @ref LL_VREFBUF_VOLTAGE_SCALE0
  1763. * @arg @ref LL_VREFBUF_VOLTAGE_SCALE1
  1764. */
  1765. __STATIC_INLINE uint32_t LL_VREFBUF_GetVoltageScaling(void)
  1766. {
  1767. return (uint32_t)(READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRS));
  1768. }
  1769. /**
  1770. * @brief Check if Voltage reference buffer is ready
  1771. * @rmtoll VREFBUF_CSR VREFBUF_CSR_VRS LL_VREFBUF_IsVREFReady
  1772. * @retval State of bit (1 or 0).
  1773. */
  1774. __STATIC_INLINE uint32_t LL_VREFBUF_IsVREFReady(void)
  1775. {
  1776. return ((READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRR) == (VREFBUF_CSR_VRR)) ? 1UL : 0UL);
  1777. }
  1778. /**
  1779. * @brief Get the trimming code for VREFBUF calibration
  1780. * @rmtoll VREFBUF_CCR VREFBUF_CCR_TRIM LL_VREFBUF_GetTrimming
  1781. * @retval Between 0 and 0x3F
  1782. */
  1783. __STATIC_INLINE uint32_t LL_VREFBUF_GetTrimming(void)
  1784. {
  1785. return (uint32_t)(READ_BIT(VREFBUF->CCR, VREFBUF_CCR_TRIM));
  1786. }
  1787. /**
  1788. * @brief Set the trimming code for VREFBUF calibration (Tune the internal reference buffer voltage)
  1789. * @note VrefBuf voltage scale is calibrated in production for each device,
  1790. * using voltage scale 1. This calibration value is loaded
  1791. * as default trimming value at device power up.
  1792. * This trimming value can be fine tuned for voltage scales 0 and 1
  1793. * using this function.
  1794. * @rmtoll VREFBUF_CCR VREFBUF_CCR_TRIM LL_VREFBUF_SetTrimming
  1795. * @param Value Between 0 and 0x3F
  1796. * @retval None
  1797. */
  1798. __STATIC_INLINE void LL_VREFBUF_SetTrimming(uint32_t Value)
  1799. {
  1800. WRITE_REG(VREFBUF->CCR, Value);
  1801. }
  1802. /**
  1803. * @}
  1804. */
  1805. #endif /* VREFBUF */
  1806. /** @defgroup SYSTEM_LL_EF_FLASH FLASH
  1807. * @{
  1808. */
  1809. /**
  1810. * @brief Set FLASH Latency
  1811. * @rmtoll FLASH_ACR FLASH_ACR_LATENCY LL_FLASH_SetLatency
  1812. * @param Latency This parameter can be one of the following values:
  1813. * @arg @ref LL_FLASH_LATENCY_0
  1814. * @arg @ref LL_FLASH_LATENCY_1
  1815. * @arg @ref LL_FLASH_LATENCY_2
  1816. * @retval None
  1817. */
  1818. __STATIC_INLINE void LL_FLASH_SetLatency(uint32_t Latency)
  1819. {
  1820. MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, Latency);
  1821. }
  1822. /**
  1823. * @brief Get FLASH Latency
  1824. * @rmtoll FLASH_ACR FLASH_ACR_LATENCY LL_FLASH_GetLatency
  1825. * @retval Returned value can be one of the following values:
  1826. * @arg @ref LL_FLASH_LATENCY_0
  1827. * @arg @ref LL_FLASH_LATENCY_1
  1828. * @arg @ref LL_FLASH_LATENCY_2
  1829. */
  1830. __STATIC_INLINE uint32_t LL_FLASH_GetLatency(void)
  1831. {
  1832. return (uint32_t)(READ_BIT(FLASH->ACR, FLASH_ACR_LATENCY));
  1833. }
  1834. /**
  1835. * @brief Enable Prefetch
  1836. * @rmtoll FLASH_ACR FLASH_ACR_PRFTEN LL_FLASH_EnablePrefetch
  1837. * @retval None
  1838. */
  1839. __STATIC_INLINE void LL_FLASH_EnablePrefetch(void)
  1840. {
  1841. SET_BIT(FLASH->ACR, FLASH_ACR_PRFTEN);
  1842. }
  1843. /**
  1844. * @brief Disable Prefetch
  1845. * @rmtoll FLASH_ACR FLASH_ACR_PRFTEN LL_FLASH_DisablePrefetch
  1846. * @retval None
  1847. */
  1848. __STATIC_INLINE void LL_FLASH_DisablePrefetch(void)
  1849. {
  1850. CLEAR_BIT(FLASH->ACR, FLASH_ACR_PRFTEN);
  1851. }
  1852. /**
  1853. * @brief Check if Prefetch buffer is enabled
  1854. * @rmtoll FLASH_ACR FLASH_ACR_PRFTEN LL_FLASH_IsPrefetchEnabled
  1855. * @retval State of bit (1 or 0).
  1856. */
  1857. __STATIC_INLINE uint32_t LL_FLASH_IsPrefetchEnabled(void)
  1858. {
  1859. return ((READ_BIT(FLASH->ACR, FLASH_ACR_PRFTEN) == (FLASH_ACR_PRFTEN)) ? 1UL : 0UL);
  1860. }
  1861. /**
  1862. * @brief Enable Instruction cache
  1863. * @rmtoll FLASH_ACR FLASH_ACR_ICEN LL_FLASH_EnableInstCache
  1864. * @retval None
  1865. */
  1866. __STATIC_INLINE void LL_FLASH_EnableInstCache(void)
  1867. {
  1868. SET_BIT(FLASH->ACR, FLASH_ACR_ICEN);
  1869. }
  1870. /**
  1871. * @brief Disable Instruction cache
  1872. * @rmtoll FLASH_ACR FLASH_ACR_ICEN LL_FLASH_DisableInstCache
  1873. * @retval None
  1874. */
  1875. __STATIC_INLINE void LL_FLASH_DisableInstCache(void)
  1876. {
  1877. CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICEN);
  1878. }
  1879. /**
  1880. * @brief Enable Instruction cache reset
  1881. * @note bit can be written only when the instruction cache is disabled
  1882. * @rmtoll FLASH_ACR FLASH_ACR_ICRST LL_FLASH_EnableInstCacheReset
  1883. * @retval None
  1884. */
  1885. __STATIC_INLINE void LL_FLASH_EnableInstCacheReset(void)
  1886. {
  1887. SET_BIT(FLASH->ACR, FLASH_ACR_ICRST);
  1888. }
  1889. /**
  1890. * @brief Disable Instruction cache reset
  1891. * @rmtoll FLASH_ACR FLASH_ACR_ICRST LL_FLASH_DisableInstCacheReset
  1892. * @retval None
  1893. */
  1894. __STATIC_INLINE void LL_FLASH_DisableInstCacheReset(void)
  1895. {
  1896. CLEAR_BIT(FLASH->ACR, FLASH_ACR_ICRST);
  1897. }
  1898. /**
  1899. * @}
  1900. */
  1901. /**
  1902. * @}
  1903. */
  1904. /**
  1905. * @}
  1906. */
  1907. #endif /* defined (FLASH) || defined (SYSCFG) || defined (DBG) */
  1908. /**
  1909. * @}
  1910. */
  1911. #ifdef __cplusplus
  1912. }
  1913. #endif
  1914. #endif /* STM32G0xx_LL_SYSTEM_H */