stm32f0xx_ll_system.h 74 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851
  1. /**
  2. ******************************************************************************
  3. * @file stm32f0xx_ll_system.h
  4. * @author MCD Application Team
  5. * @brief Header file of SYSTEM LL module.
  6. @verbatim
  7. ==============================================================================
  8. ##### How to use this driver #####
  9. ==============================================================================
  10. [..]
  11. The LL SYSTEM driver contains a set of generic APIs that can be
  12. used by user:
  13. (+) Some of the FLASH features need to be handled in the SYSTEM file.
  14. (+) Access to DBGCMU registers
  15. (+) Access to SYSCFG registers
  16. @endverbatim
  17. ******************************************************************************
  18. * @attention
  19. *
  20. * Copyright (c) 2016 STMicroelectronics.
  21. * All rights reserved.
  22. *
  23. * This software is licensed under terms that can be found in the LICENSE file
  24. * in the root directory of this software component.
  25. * If no LICENSE file comes with this software, it is provided AS-IS.
  26. *
  27. ******************************************************************************
  28. */
  29. /* Define to prevent recursive inclusion -------------------------------------*/
  30. #ifndef __STM32F0xx_LL_SYSTEM_H
  31. #define __STM32F0xx_LL_SYSTEM_H
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35. /* Includes ------------------------------------------------------------------*/
  36. #include "stm32f0xx.h"
  37. /** @addtogroup STM32F0xx_LL_Driver
  38. * @{
  39. */
  40. #if defined (FLASH) || defined (SYSCFG) || defined (DBGMCU)
  41. /** @defgroup SYSTEM_LL SYSTEM
  42. * @{
  43. */
  44. /* Private types -------------------------------------------------------------*/
  45. /* Private variables ---------------------------------------------------------*/
  46. /* Private constants ---------------------------------------------------------*/
  47. /** @defgroup SYSTEM_LL_Private_Constants SYSTEM Private Constants
  48. * @{
  49. */
  50. /**
  51. * @}
  52. */
  53. /* Private macros ------------------------------------------------------------*/
  54. /* Exported types ------------------------------------------------------------*/
  55. /* Exported constants --------------------------------------------------------*/
  56. /** @defgroup SYSTEM_LL_Exported_Constants SYSTEM Exported Constants
  57. * @{
  58. */
  59. /** @defgroup SYSTEM_LL_EC_REMAP SYSCFG Remap
  60. * @{
  61. */
  62. #define LL_SYSCFG_REMAP_FLASH (uint32_t)0x00000000U /*!< Main Flash memory mapped at 0x00000000 */
  63. #define LL_SYSCFG_REMAP_SYSTEMFLASH SYSCFG_CFGR1_MEM_MODE_0 /*!< System Flash memory mapped at 0x00000000 */
  64. #define LL_SYSCFG_REMAP_SRAM (SYSCFG_CFGR1_MEM_MODE_1 | SYSCFG_CFGR1_MEM_MODE_0) /*!< Embedded SRAM mapped at 0x00000000 */
  65. /**
  66. * @}
  67. */
  68. #if defined(SYSCFG_CFGR1_IR_MOD)
  69. /** @defgroup SYSTEM_LL_EC_IR_MOD SYSCFG IR Modulation
  70. * @{
  71. */
  72. #define LL_SYSCFG_IR_MOD_TIM16 (SYSCFG_CFGR1_IR_MOD_0 & SYSCFG_CFGR1_IR_MOD_1) /*!< Timer16 is selected as IR Modulation envelope source */
  73. #define LL_SYSCFG_IR_MOD_USART1 (SYSCFG_CFGR1_IR_MOD_0) /*!< USART1 is selected as IR Modulation envelope source */
  74. #define LL_SYSCFG_IR_MOD_USART4 (SYSCFG_CFGR1_IR_MOD_1) /*!< USART4 is selected as IR Modulation envelope source */
  75. /**
  76. * @}
  77. */
  78. #endif /* SYSCFG_CFGR1_IR_MOD */
  79. #if defined(SYSCFG_CFGR1_USART1TX_DMA_RMP) || defined(SYSCFG_CFGR1_USART1RX_DMA_RMP) || defined(SYSCFG_CFGR1_USART2_DMA_RMP) || defined(SYSCFG_CFGR1_USART3_DMA_RMP)
  80. /** @defgroup SYSTEM_LL_EC_USART1TX_RMP SYSCFG USART DMA Remap
  81. * @{
  82. */
  83. #if defined (SYSCFG_CFGR1_USART1TX_DMA_RMP)
  84. #define LL_SYSCFG_USART1TX_RMP_DMA1CH2 ((SYSCFG_CFGR1_USART1TX_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< USART1_TX DMA request mapped on DMA channel 2U */
  85. #define LL_SYSCFG_USART1TX_RMP_DMA1CH4 ((SYSCFG_CFGR1_USART1TX_DMA_RMP >> 8U) | SYSCFG_CFGR1_USART1TX_DMA_RMP) /*!< USART1_TX DMA request mapped on DMA channel 4U */
  86. #endif /*SYSCFG_CFGR1_USART1TX_DMA_RMP*/
  87. #if defined (SYSCFG_CFGR1_USART1RX_DMA_RMP)
  88. #define LL_SYSCFG_USART1RX_RMP_DMA1CH3 ((SYSCFG_CFGR1_USART1RX_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< USART1_RX DMA request mapped on DMA channel 3U */
  89. #define LL_SYSCFG_USART1RX_RMP_DMA1CH5 ((SYSCFG_CFGR1_USART1RX_DMA_RMP >> 8U) | SYSCFG_CFGR1_USART1RX_DMA_RMP) /*!< USART1_RX DMA request mapped on DMA channel 5 */
  90. #endif /*SYSCFG_CFGR1_USART1RX_DMA_RMP*/
  91. #if defined (SYSCFG_CFGR1_USART2_DMA_RMP)
  92. #define LL_SYSCFG_USART2_RMP_DMA1CH54 ((SYSCFG_CFGR1_USART2_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< USART2_RX and USART2_TX DMA requests mapped on DMA channel 5 and 4U respectively */
  93. #define LL_SYSCFG_USART2_RMP_DMA1CH67 ((SYSCFG_CFGR1_USART2_DMA_RMP >> 8U) | SYSCFG_CFGR1_USART2_DMA_RMP) /*!< USART2_RX and USART2_TX DMA requests mapped on DMA channel 6 and 7 respectively */
  94. #endif /*SYSCFG_CFGR1_USART2_DMA_RMP*/
  95. #if defined (SYSCFG_CFGR1_USART3_DMA_RMP)
  96. #define LL_SYSCFG_USART3_RMP_DMA1CH67 ((SYSCFG_CFGR1_USART3_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< USART3_RX and USART3_TX DMA requests mapped on DMA channel 6 and 7 respectively */
  97. #define LL_SYSCFG_USART3_RMP_DMA1CH32 ((SYSCFG_CFGR1_USART3_DMA_RMP >> 8U) | SYSCFG_CFGR1_USART3_DMA_RMP) /*!< USART3_RX and USART3_TX DMA requests mapped on DMA channel 3U and 2U respectively */
  98. #endif /* SYSCFG_CFGR1_USART3_DMA_RMP */
  99. /**
  100. * @}
  101. */
  102. #endif /* SYSCFG_CFGR1_USART1TX_DMA_RMP || SYSCFG_CFGR1_USART1RX_DMA_RMP || SYSCFG_CFGR1_USART2_DMA_RMP || SYSCFG_CFGR1_USART3_DMA_RMP */
  103. #if defined (SYSCFG_CFGR1_SPI2_DMA_RMP)
  104. /** @defgroup SYSTEM_LL_EC_SPI2_RMP_DMA1 SYSCFG SPI2 DMA Remap
  105. * @{
  106. */
  107. #define LL_SYSCFG_SPI2_RMP_DMA1_CH45 (uint32_t)0x00000000U /*!< SPI2_RX and SPI2_TX DMA requests mapped on DMA channel 4U and 5 respectively */
  108. #define LL_SYSCFG_SPI2_RMP_DMA1_CH67 SYSCFG_CFGR1_SPI2_DMA_RMP /*!< SPI2_RX and SPI2_TX DMA requests mapped on DMA channel 6 and 7 respectively */
  109. /**
  110. * @}
  111. */
  112. #endif /*SYSCFG_CFGR1_SPI2_DMA_RMP*/
  113. #if defined (SYSCFG_CFGR1_I2C1_DMA_RMP)
  114. /** @defgroup SYSTEM_LL_EC_I2C1_RMP_DMA1 SYSCFG I2C1 DMA Remap
  115. * @{
  116. */
  117. #define LL_SYSCFG_I2C1_RMP_DMA1_CH32 (uint32_t)0x00000000U /*!< I2C1_RX and I2C1_TX DMA requests mapped on DMA channel 3U and 2U respectively */
  118. #define LL_SYSCFG_I2C1_RMP_DMA1_CH76 SYSCFG_CFGR1_I2C1_DMA_RMP /*!< I2C1_RX and I2C1_TX DMA requests mapped on DMA channel 7 and 6 respectively */
  119. /**
  120. * @}
  121. */
  122. #endif /*SYSCFG_CFGR1_I2C1_DMA_RMP*/
  123. #if defined(SYSCFG_CFGR1_ADC_DMA_RMP)
  124. /** @defgroup SYSTEM_LL_EC_ADC1_RMP_DMA1 SYSCFG ADC1 DMA Remap
  125. * @{
  126. */
  127. #define LL_SYSCFG_ADC1_RMP_DMA1_CH1 (uint32_t)0x00000000U /*!< ADC DMA request mapped on DMA channel 1U */
  128. #define LL_SYSCFG_ADC1_RMP_DMA1_CH2 SYSCFG_CFGR1_ADC_DMA_RMP /*!< ADC DMA request mapped on DMA channel 2U */
  129. /**
  130. * @}
  131. */
  132. #endif /* SYSCFG_CFGR1_ADC_DMA_RMP */
  133. #if defined(SYSCFG_CFGR1_TIM16_DMA_RMP) || defined(SYSCFG_CFGR1_TIM17_DMA_RMP) || defined(SYSCFG_CFGR1_TIM1_DMA_RMP) || defined(SYSCFG_CFGR1_TIM2_DMA_RMP) || defined(SYSCFG_CFGR1_TIM3_DMA_RMP)
  134. /** @defgroup SYSTEM_LL_EC_TIM16_RMP_DMA1 SYSCFG TIM DMA Remap
  135. * @{
  136. */
  137. #if defined(SYSCFG_CFGR1_TIM16_DMA_RMP)
  138. #if defined (SYSCFG_CFGR1_TIM16_DMA_RMP2)
  139. #define LL_SYSCFG_TIM16_RMP_DMA1_CH3 (((SYSCFG_CFGR1_TIM16_DMA_RMP | SYSCFG_CFGR1_TIM16_DMA_RMP2) >> 8U) | (uint32_t)0x00000000U) /*!< TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 3 */
  140. #define LL_SYSCFG_TIM16_RMP_DMA1_CH4 (((SYSCFG_CFGR1_TIM16_DMA_RMP | SYSCFG_CFGR1_TIM16_DMA_RMP2) >> 8U) | SYSCFG_CFGR1_TIM16_DMA_RMP) /*!< TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 4 */
  141. #define LL_SYSCFG_TIM16_RMP_DMA1_CH6 ((SYSCFG_CFGR1_TIM16_DMA_RMP2 >> 8U) | SYSCFG_CFGR1_TIM16_DMA_RMP2) /*!< TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 6 */
  142. #else
  143. #define LL_SYSCFG_TIM16_RMP_DMA1_CH3 ((SYSCFG_CFGR1_TIM16_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 3 */
  144. #define LL_SYSCFG_TIM16_RMP_DMA1_CH4 ((SYSCFG_CFGR1_TIM16_DMA_RMP >> 8U) | SYSCFG_CFGR1_TIM16_DMA_RMP) /*!< TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 4 */
  145. #endif /* SYSCFG_CFGR1_TIM16_DMA_RMP2 */
  146. #endif /* SYSCFG_CFGR1_TIM16_DMA_RMP */
  147. #if defined(SYSCFG_CFGR1_TIM17_DMA_RMP)
  148. #if defined (SYSCFG_CFGR1_TIM17_DMA_RMP2)
  149. #define LL_SYSCFG_TIM17_RMP_DMA1_CH1 (((SYSCFG_CFGR1_TIM17_DMA_RMP | SYSCFG_CFGR1_TIM17_DMA_RMP2) >> 8U) | (uint32_t)0x00000000U) /*!< TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 1 */
  150. #define LL_SYSCFG_TIM17_RMP_DMA1_CH2 (((SYSCFG_CFGR1_TIM17_DMA_RMP | SYSCFG_CFGR1_TIM17_DMA_RMP2) >> 8U) | SYSCFG_CFGR1_TIM17_DMA_RMP) /*!< TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 2 */
  151. #define LL_SYSCFG_TIM17_RMP_DMA1_CH7 ((SYSCFG_CFGR1_TIM17_DMA_RMP2 >> 8U) | SYSCFG_CFGR1_TIM17_DMA_RMP2) /*!< TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 7 */
  152. #else
  153. #define LL_SYSCFG_TIM17_RMP_DMA1_CH1 ((SYSCFG_CFGR1_TIM17_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 1 */
  154. #define LL_SYSCFG_TIM17_RMP_DMA1_CH2 ((SYSCFG_CFGR1_TIM17_DMA_RMP >> 8U) | SYSCFG_CFGR1_TIM17_DMA_RMP) /*!< TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 2 */
  155. #endif /* SYSCFG_CFGR1_TIM17_DMA_RMP2 */
  156. #endif /* SYSCFG_CFGR1_TIM17_DMA_RMP */
  157. #if defined (SYSCFG_CFGR1_TIM1_DMA_RMP)
  158. #define LL_SYSCFG_TIM1_RMP_DMA1_CH234 ((SYSCFG_CFGR1_TIM1_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< TIM1_CH1, TIM1_CH2 and TIM1_CH3 DMA requests mapped on DMAchannel 2, 3 and 4 respectively */
  159. #define LL_SYSCFG_TIM1_RMP_DMA1_CH6 ((SYSCFG_CFGR1_TIM1_DMA_RMP >> 8U) | SYSCFG_CFGR1_TIM1_DMA_RMP) /*!< TIM1_CH1, TIM1_CH2 and TIM1_CH3 DMA requests mapped on DMA channel 6 */
  160. #endif /*SYSCFG_CFGR1_TIM1_DMA_RMP*/
  161. #if defined (SYSCFG_CFGR1_TIM2_DMA_RMP)
  162. #define LL_SYSCFG_TIM2_RMP_DMA1_CH34 ((SYSCFG_CFGR1_TIM2_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< TIM2_CH2 and TIM2_CH4 DMA requests mapped on DMA channel 3 and 4 respectively */
  163. #define LL_SYSCFG_TIM2_RMP_DMA1_CH7 ((SYSCFG_CFGR1_TIM2_DMA_RMP >> 8U) | SYSCFG_CFGR1_TIM2_DMA_RMP) /*!< TIM2_CH2 and TIM2_CH4 DMA requests mapped on DMA channel 7 */
  164. #endif /*SYSCFG_CFGR1_TIM2_DMA_RMP*/
  165. #if defined (SYSCFG_CFGR1_TIM3_DMA_RMP)
  166. #define LL_SYSCFG_TIM3_RMP_DMA1_CH4 ((SYSCFG_CFGR1_TIM3_DMA_RMP >> 8U) | (uint32_t)0x00000000U) /*!< TIM3_CH1 and TIM3_TRIG DMA requests mapped on DMA channel 4 */
  167. #define LL_SYSCFG_TIM3_RMP_DMA1_CH6 ((SYSCFG_CFGR1_TIM3_DMA_RMP >> 8U) | SYSCFG_CFGR1_TIM3_DMA_RMP) /*!< TIM3_CH1 and TIM3_TRIG DMA requests mapped on DMA channel 6 */
  168. #endif /*SYSCFG_CFGR1_TIM3_DMA_RMP*/
  169. /**
  170. * @}
  171. */
  172. #endif /* SYSCFG_CFGR1_TIM16_DMA_RMP || SYSCFG_CFGR1_TIM17_DMA_RMP || SYSCFG_CFGR1_TIM1_DMA_RMP || SYSCFG_CFGR1_TIM2_DMA_RMP || SYSCFG_CFGR1_TIM3_DMA_RMP */
  173. /** @defgroup SYSTEM_LL_EC_I2C_FASTMODEPLUS SYSCFG I2C FASTMODEPLUS
  174. * @{
  175. */
  176. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB6 SYSCFG_CFGR1_I2C_FMP_PB6 /*!< I2C PB6 Fast mode plus */
  177. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB7 SYSCFG_CFGR1_I2C_FMP_PB7 /*!< I2C PB7 Fast mode plus */
  178. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB8 SYSCFG_CFGR1_I2C_FMP_PB8 /*!< I2C PB8 Fast mode plus */
  179. #define LL_SYSCFG_I2C_FASTMODEPLUS_PB9 SYSCFG_CFGR1_I2C_FMP_PB9 /*!< I2C PB9 Fast mode plus */
  180. #if defined(SYSCFG_CFGR1_I2C_FMP_I2C1)
  181. #define LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 SYSCFG_CFGR1_I2C_FMP_I2C1 /*!< Enable Fast Mode Plus on PB10, PB11, PF6 and PF7 */
  182. #endif /*SYSCFG_CFGR1_I2C_FMP_I2C1*/
  183. #if defined(SYSCFG_CFGR1_I2C_FMP_I2C2)
  184. #define LL_SYSCFG_I2C_FASTMODEPLUS_I2C2 SYSCFG_CFGR1_I2C_FMP_I2C2 /*!< Enable I2C2 Fast mode plus */
  185. #endif /*SYSCFG_CFGR1_I2C_FMP_I2C2*/
  186. #if defined(SYSCFG_CFGR1_I2C_FMP_PA9)
  187. #define LL_SYSCFG_I2C_FASTMODEPLUS_PA9 SYSCFG_CFGR1_I2C_FMP_PA9 /*!< Enable Fast Mode Plus on PA9 */
  188. #endif /*SYSCFG_CFGR1_I2C_FMP_PA9*/
  189. #if defined(SYSCFG_CFGR1_I2C_FMP_PA10)
  190. #define LL_SYSCFG_I2C_FASTMODEPLUS_PA10 SYSCFG_CFGR1_I2C_FMP_PA10 /*!< Enable Fast Mode Plus on PA10 */
  191. #endif /*SYSCFG_CFGR1_I2C_FMP_PA10*/
  192. /**
  193. * @}
  194. */
  195. /** @defgroup SYSTEM_LL_EC_EXTI_PORT SYSCFG EXTI PORT
  196. * @{
  197. */
  198. #define LL_SYSCFG_EXTI_PORTA (uint32_t)0U /*!< EXTI PORT A */
  199. #define LL_SYSCFG_EXTI_PORTB (uint32_t)1U /*!< EXTI PORT B */
  200. #define LL_SYSCFG_EXTI_PORTC (uint32_t)2U /*!< EXTI PORT C */
  201. #if defined(GPIOD_BASE)
  202. #define LL_SYSCFG_EXTI_PORTD (uint32_t)3U /*!< EXTI PORT D */
  203. #endif /*GPIOD_BASE*/
  204. #if defined(GPIOE_BASE)
  205. #define LL_SYSCFG_EXTI_PORTE (uint32_t)4U /*!< EXTI PORT E */
  206. #endif /*GPIOE_BASE*/
  207. #define LL_SYSCFG_EXTI_PORTF (uint32_t)5U /*!< EXTI PORT F */
  208. /**
  209. * @}
  210. */
  211. /** @defgroup SYSTEM_LL_EC_EXTI_LINE SYSCFG EXTI LINE
  212. * @{
  213. */
  214. #define LL_SYSCFG_EXTI_LINE0 (uint32_t)(0U << 16U | 0U) /*!< EXTI_POSITION_0 | EXTICR[0] */
  215. #define LL_SYSCFG_EXTI_LINE1 (uint32_t)(4U << 16U | 0U) /*!< EXTI_POSITION_4 | EXTICR[0] */
  216. #define LL_SYSCFG_EXTI_LINE2 (uint32_t)(8U << 16U | 0U) /*!< EXTI_POSITION_8 | EXTICR[0] */
  217. #define LL_SYSCFG_EXTI_LINE3 (uint32_t)(12U << 16U | 0U) /*!< EXTI_POSITION_12 | EXTICR[0] */
  218. #define LL_SYSCFG_EXTI_LINE4 (uint32_t)(0U << 16U | 1U) /*!< EXTI_POSITION_0 | EXTICR[1] */
  219. #define LL_SYSCFG_EXTI_LINE5 (uint32_t)(4U << 16U | 1U) /*!< EXTI_POSITION_4 | EXTICR[1] */
  220. #define LL_SYSCFG_EXTI_LINE6 (uint32_t)(8U << 16U | 1U) /*!< EXTI_POSITION_8 | EXTICR[1] */
  221. #define LL_SYSCFG_EXTI_LINE7 (uint32_t)(12U << 16U | 1U) /*!< EXTI_POSITION_12 | EXTICR[1] */
  222. #define LL_SYSCFG_EXTI_LINE8 (uint32_t)(0U << 16U | 2U) /*!< EXTI_POSITION_0 | EXTICR[2] */
  223. #define LL_SYSCFG_EXTI_LINE9 (uint32_t)(4U << 16U | 2U) /*!< EXTI_POSITION_4 | EXTICR[2] */
  224. #define LL_SYSCFG_EXTI_LINE10 (uint32_t)(8U << 16U | 2U) /*!< EXTI_POSITION_8 | EXTICR[2] */
  225. #define LL_SYSCFG_EXTI_LINE11 (uint32_t)(12U << 16U | 2U) /*!< EXTI_POSITION_12 | EXTICR[2] */
  226. #define LL_SYSCFG_EXTI_LINE12 (uint32_t)(0U << 16U | 3U) /*!< EXTI_POSITION_0 | EXTICR[3] */
  227. #define LL_SYSCFG_EXTI_LINE13 (uint32_t)(4U << 16U | 3U) /*!< EXTI_POSITION_4 | EXTICR[3] */
  228. #define LL_SYSCFG_EXTI_LINE14 (uint32_t)(8U << 16U | 3U) /*!< EXTI_POSITION_8 | EXTICR[3] */
  229. #define LL_SYSCFG_EXTI_LINE15 (uint32_t)(12U << 16U | 3U) /*!< EXTI_POSITION_12 | EXTICR[3] */
  230. /**
  231. * @}
  232. */
  233. /** @defgroup SYSTEM_LL_EC_TIMBREAK SYSCFG TIMER BREAK
  234. * @{
  235. */
  236. #if defined(SYSCFG_CFGR2_PVD_LOCK)
  237. #define LL_SYSCFG_TIMBREAK_PVD SYSCFG_CFGR2_PVD_LOCK /*!< Enables and locks the PVD connection
  238. with TIM1/15/16U/17 Break Input and also
  239. the PVDE and PLS bits of the Power Control Interface */
  240. #endif /*SYSCFG_CFGR2_PVD_LOCK*/
  241. #define LL_SYSCFG_TIMBREAK_SRAM_PARITY SYSCFG_CFGR2_SRAM_PARITY_LOCK /*!< Enables and locks the SRAM_PARITY error signal
  242. with Break Input of TIM1/15/16/17 */
  243. #define LL_SYSCFG_TIMBREAK_LOCKUP SYSCFG_CFGR2_LOCKUP_LOCK /*!< Enables and locks the LOCKUP (Hardfault) output of
  244. CortexM0 with Break Input of TIM1/15/16/17 */
  245. /**
  246. * @}
  247. */
  248. /** @defgroup SYSTEM_LL_EC_APB1_GRP1_STOP_IP DBGMCU APB1 GRP1 STOP IP
  249. * @{
  250. */
  251. #if defined(DBGMCU_APB1_FZ_DBG_TIM2_STOP)
  252. #define LL_DBGMCU_APB1_GRP1_TIM2_STOP DBGMCU_APB1_FZ_DBG_TIM2_STOP /*!< TIM2 counter stopped when core is halted */
  253. #endif /*DBGMCU_APB1_FZ_DBG_TIM2_STOP*/
  254. #define LL_DBGMCU_APB1_GRP1_TIM3_STOP DBGMCU_APB1_FZ_DBG_TIM3_STOP /*!< TIM3 counter stopped when core is halted */
  255. #if defined(DBGMCU_APB1_FZ_DBG_TIM6_STOP)
  256. #define LL_DBGMCU_APB1_GRP1_TIM6_STOP DBGMCU_APB1_FZ_DBG_TIM6_STOP /*!< TIM6 counter stopped when core is halted */
  257. #endif /*DBGMCU_APB1_FZ_DBG_TIM6_STOP*/
  258. #if defined(DBGMCU_APB1_FZ_DBG_TIM7_STOP)
  259. #define LL_DBGMCU_APB1_GRP1_TIM7_STOP DBGMCU_APB1_FZ_DBG_TIM7_STOP /*!< TIM7 counter stopped when core is halted */
  260. #endif /*DBGMCU_APB1_FZ_DBG_TIM7_STOP*/
  261. #define LL_DBGMCU_APB1_GRP1_TIM14_STOP DBGMCU_APB1_FZ_DBG_TIM14_STOP /*!< TIM14 counter stopped when core is halted */
  262. #define LL_DBGMCU_APB1_GRP1_RTC_STOP DBGMCU_APB1_FZ_DBG_RTC_STOP /*!< RTC Calendar frozen when core is halted */
  263. #define LL_DBGMCU_APB1_GRP1_WWDG_STOP DBGMCU_APB1_FZ_DBG_WWDG_STOP /*!< Debug Window Watchdog stopped when Core is halted */
  264. #define LL_DBGMCU_APB1_GRP1_IWDG_STOP DBGMCU_APB1_FZ_DBG_IWDG_STOP /*!< Debug Independent Watchdog stopped when Core is halted */
  265. #define LL_DBGMCU_APB1_GRP1_I2C1_STOP DBGMCU_APB1_FZ_DBG_I2C1_SMBUS_TIMEOUT /*!< I2C1 SMBUS timeout mode stopped when Core is halted */
  266. #if defined(DBGMCU_APB1_FZ_DBG_CAN_STOP)
  267. #define LL_DBGMCU_APB1_GRP1_CAN_STOP DBGMCU_APB1_FZ_DBG_CAN_STOP /*!< CAN debug stopped when Core is halted */
  268. #endif /*DBGMCU_APB1_FZ_DBG_CAN_STOP*/
  269. /**
  270. * @}
  271. */
  272. /** @defgroup SYSTEM_LL_EC_APB1 GRP2_STOP_IP DBGMCU APB1 GRP2 STOP IP
  273. * @{
  274. */
  275. #define LL_DBGMCU_APB1_GRP2_TIM1_STOP DBGMCU_APB2_FZ_DBG_TIM1_STOP /*!< TIM1 counter stopped when core is halted */
  276. #if defined(DBGMCU_APB2_FZ_DBG_TIM15_STOP)
  277. #define LL_DBGMCU_APB1_GRP2_TIM15_STOP DBGMCU_APB2_FZ_DBG_TIM15_STOP /*!< TIM15 counter stopped when core is halted */
  278. #endif /*DBGMCU_APB2_FZ_DBG_TIM15_STOP*/
  279. #define LL_DBGMCU_APB1_GRP2_TIM16_STOP DBGMCU_APB2_FZ_DBG_TIM16_STOP /*!< TIM16 counter stopped when core is halted */
  280. #define LL_DBGMCU_APB1_GRP2_TIM17_STOP DBGMCU_APB2_FZ_DBG_TIM17_STOP /*!< TIM17 counter stopped when core is halted */
  281. /**
  282. * @}
  283. */
  284. /** @defgroup SYSTEM_LL_EC_LATENCY FLASH LATENCY
  285. * @{
  286. */
  287. #define LL_FLASH_LATENCY_0 0x00000000U /*!< FLASH Zero Latency cycle */
  288. #define LL_FLASH_LATENCY_1 FLASH_ACR_LATENCY /*!< FLASH One Latency cycle */
  289. /**
  290. * @}
  291. */
  292. /**
  293. * @}
  294. */
  295. /* Exported macro ------------------------------------------------------------*/
  296. /* Exported functions --------------------------------------------------------*/
  297. /** @defgroup SYSTEM_LL_Exported_Functions SYSTEM Exported Functions
  298. * @{
  299. */
  300. /** @defgroup SYSTEM_LL_EF_SYSCFG SYSCFG
  301. * @{
  302. */
  303. /**
  304. * @brief Set memory mapping at address 0x00000000
  305. * @rmtoll SYSCFG_CFGR1 MEM_MODE LL_SYSCFG_SetRemapMemory
  306. * @param Memory This parameter can be one of the following values:
  307. * @arg @ref LL_SYSCFG_REMAP_FLASH
  308. * @arg @ref LL_SYSCFG_REMAP_SYSTEMFLASH
  309. * @arg @ref LL_SYSCFG_REMAP_SRAM
  310. * @retval None
  311. */
  312. __STATIC_INLINE void LL_SYSCFG_SetRemapMemory(uint32_t Memory)
  313. {
  314. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_MEM_MODE, Memory);
  315. }
  316. /**
  317. * @brief Get memory mapping at address 0x00000000
  318. * @rmtoll SYSCFG_CFGR1 MEM_MODE LL_SYSCFG_GetRemapMemory
  319. * @retval Returned value can be one of the following values:
  320. * @arg @ref LL_SYSCFG_REMAP_FLASH
  321. * @arg @ref LL_SYSCFG_REMAP_SYSTEMFLASH
  322. * @arg @ref LL_SYSCFG_REMAP_SRAM
  323. */
  324. __STATIC_INLINE uint32_t LL_SYSCFG_GetRemapMemory(void)
  325. {
  326. return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_MEM_MODE));
  327. }
  328. #if defined(SYSCFG_CFGR1_IR_MOD)
  329. /**
  330. * @brief Set IR Modulation Envelope signal source.
  331. * @rmtoll SYSCFG_CFGR1 IR_MOD LL_SYSCFG_SetIRModEnvelopeSignal
  332. * @param Source This parameter can be one of the following values:
  333. * @arg @ref LL_SYSCFG_IR_MOD_TIM16
  334. * @arg @ref LL_SYSCFG_IR_MOD_USART1
  335. * @arg @ref LL_SYSCFG_IR_MOD_USART4
  336. * @retval None
  337. */
  338. __STATIC_INLINE void LL_SYSCFG_SetIRModEnvelopeSignal(uint32_t Source)
  339. {
  340. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_MOD, Source);
  341. }
  342. /**
  343. * @brief Get IR Modulation Envelope signal source.
  344. * @rmtoll SYSCFG_CFGR1 IR_MOD LL_SYSCFG_GetIRModEnvelopeSignal
  345. * @retval Returned value can be one of the following values:
  346. * @arg @ref LL_SYSCFG_IR_MOD_TIM16
  347. * @arg @ref LL_SYSCFG_IR_MOD_USART1
  348. * @arg @ref LL_SYSCFG_IR_MOD_USART4
  349. */
  350. __STATIC_INLINE uint32_t LL_SYSCFG_GetIRModEnvelopeSignal(void)
  351. {
  352. return (uint32_t)(READ_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_IR_MOD));
  353. }
  354. #endif /* SYSCFG_CFGR1_IR_MOD */
  355. #if defined(SYSCFG_CFGR1_USART1TX_DMA_RMP) || defined(SYSCFG_CFGR1_USART1RX_DMA_RMP) || defined(SYSCFG_CFGR1_USART2_DMA_RMP) || defined(SYSCFG_CFGR1_USART3_DMA_RMP)
  356. /**
  357. * @brief Set DMA request remapping bits for USART
  358. * @rmtoll SYSCFG_CFGR1 USART1TX_DMA_RMP LL_SYSCFG_SetRemapDMA_USART\n
  359. * SYSCFG_CFGR1 USART1RX_DMA_RMP LL_SYSCFG_SetRemapDMA_USART\n
  360. * SYSCFG_CFGR1 USART2_DMA_RMP LL_SYSCFG_SetRemapDMA_USART\n
  361. * SYSCFG_CFGR1 USART3_DMA_RMP LL_SYSCFG_SetRemapDMA_USART
  362. * @param Remap This parameter can be one of the following values:
  363. * @arg @ref LL_SYSCFG_USART1TX_RMP_DMA1CH2 (*)
  364. * @arg @ref LL_SYSCFG_USART1TX_RMP_DMA1CH4 (*)
  365. * @arg @ref LL_SYSCFG_USART1RX_RMP_DMA1CH3 (*)
  366. * @arg @ref LL_SYSCFG_USART1RX_RMP_DMA1CH5 (*)
  367. * @arg @ref LL_SYSCFG_USART2_RMP_DMA1CH54 (*)
  368. * @arg @ref LL_SYSCFG_USART2_RMP_DMA1CH67 (*)
  369. * @arg @ref LL_SYSCFG_USART3_RMP_DMA1CH67 (*)
  370. * @arg @ref LL_SYSCFG_USART3_RMP_DMA1CH32 (*)
  371. *
  372. * (*) value not defined in all devices.
  373. * @retval None
  374. */
  375. __STATIC_INLINE void LL_SYSCFG_SetRemapDMA_USART(uint32_t Remap)
  376. {
  377. MODIFY_REG(SYSCFG->CFGR1, (Remap & 0x00FF00FFU) << 8U, (Remap & 0xFF00FF00U));
  378. }
  379. #endif /* SYSCFG_CFGR1_USART1TX_DMA_RMP || SYSCFG_CFGR1_USART1RX_DMA_RMP || SYSCFG_CFGR1_USART2_DMA_RMP || SYSCFG_CFGR1_USART3_DMA_RMP */
  380. #if defined(SYSCFG_CFGR1_SPI2_DMA_RMP)
  381. /**
  382. * @brief Set DMA request remapping bits for SPI
  383. * @rmtoll SYSCFG_CFGR1 SPI2_DMA_RMP LL_SYSCFG_SetRemapDMA_SPI
  384. * @param Remap This parameter can be one of the following values:
  385. * @arg @ref LL_SYSCFG_SPI2_RMP_DMA1_CH45
  386. * @arg @ref LL_SYSCFG_SPI2_RMP_DMA1_CH67
  387. * @retval None
  388. */
  389. __STATIC_INLINE void LL_SYSCFG_SetRemapDMA_SPI(uint32_t Remap)
  390. {
  391. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_SPI2_DMA_RMP, Remap);
  392. }
  393. #endif /* SYSCFG_CFGR1_SPI2_DMA_RMP */
  394. #if defined(SYSCFG_CFGR1_I2C1_DMA_RMP)
  395. /**
  396. * @brief Set DMA request remapping bits for I2C
  397. * @rmtoll SYSCFG_CFGR1 I2C1_DMA_RMP LL_SYSCFG_SetRemapDMA_I2C
  398. * @param Remap This parameter can be one of the following values:
  399. * @arg @ref LL_SYSCFG_I2C1_RMP_DMA1_CH32
  400. * @arg @ref LL_SYSCFG_I2C1_RMP_DMA1_CH76
  401. * @retval None
  402. */
  403. __STATIC_INLINE void LL_SYSCFG_SetRemapDMA_I2C(uint32_t Remap)
  404. {
  405. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_I2C1_DMA_RMP, Remap);
  406. }
  407. #endif /* SYSCFG_CFGR1_I2C1_DMA_RMP */
  408. #if defined(SYSCFG_CFGR1_ADC_DMA_RMP)
  409. /**
  410. * @brief Set DMA request remapping bits for ADC
  411. * @rmtoll SYSCFG_CFGR1 ADC_DMA_RMP LL_SYSCFG_SetRemapDMA_ADC
  412. * @param Remap This parameter can be one of the following values:
  413. * @arg @ref LL_SYSCFG_ADC1_RMP_DMA1_CH1
  414. * @arg @ref LL_SYSCFG_ADC1_RMP_DMA1_CH2
  415. * @retval None
  416. */
  417. __STATIC_INLINE void LL_SYSCFG_SetRemapDMA_ADC(uint32_t Remap)
  418. {
  419. MODIFY_REG(SYSCFG->CFGR1, SYSCFG_CFGR1_ADC_DMA_RMP, Remap);
  420. }
  421. #endif /* SYSCFG_CFGR1_ADC_DMA_RMP */
  422. #if defined(SYSCFG_CFGR1_TIM16_DMA_RMP) || defined(SYSCFG_CFGR1_TIM17_DMA_RMP) || defined(SYSCFG_CFGR1_TIM1_DMA_RMP) || defined(SYSCFG_CFGR1_TIM2_DMA_RMP) || defined(SYSCFG_CFGR1_TIM3_DMA_RMP)
  423. /**
  424. * @brief Set DMA request remapping bits for TIM
  425. * @rmtoll SYSCFG_CFGR1 TIM16_DMA_RMP LL_SYSCFG_SetRemapDMA_TIM\n
  426. * SYSCFG_CFGR1 TIM17_DMA_RMP LL_SYSCFG_SetRemapDMA_TIM\n
  427. * SYSCFG_CFGR1 TIM16_DMA_RMP2 LL_SYSCFG_SetRemapDMA_TIM\n
  428. * SYSCFG_CFGR1 TIM17_DMA_RMP2 LL_SYSCFG_SetRemapDMA_TIM\n
  429. * SYSCFG_CFGR1 TIM1_DMA_RMP LL_SYSCFG_SetRemapDMA_TIM\n
  430. * SYSCFG_CFGR1 TIM2_DMA_RMP LL_SYSCFG_SetRemapDMA_TIM\n
  431. * SYSCFG_CFGR1 TIM3_DMA_RMP LL_SYSCFG_SetRemapDMA_TIM
  432. * @param Remap This parameter can be one of the following values:
  433. * @arg @ref LL_SYSCFG_TIM16_RMP_DMA1_CH3 (*)
  434. * @arg @ref LL_SYSCFG_TIM16_RMP_DMA1_CH4 (*)
  435. * @arg @ref LL_SYSCFG_TIM16_RMP_DMA1_CH6 (*)
  436. * @arg @ref LL_SYSCFG_TIM17_RMP_DMA1_CH1 (*)
  437. * @arg @ref LL_SYSCFG_TIM17_RMP_DMA1_CH2 (*)
  438. * @arg @ref LL_SYSCFG_TIM17_RMP_DMA1_CH7 (*)
  439. * @arg @ref LL_SYSCFG_TIM1_RMP_DMA1_CH234 (*)
  440. * @arg @ref LL_SYSCFG_TIM1_RMP_DMA1_CH6 (*)
  441. * @arg @ref LL_SYSCFG_TIM2_RMP_DMA1_CH34 (*)
  442. * @arg @ref LL_SYSCFG_TIM2_RMP_DMA1_CH7 (*)
  443. * @arg @ref LL_SYSCFG_TIM3_RMP_DMA1_CH4 (*)
  444. * @arg @ref LL_SYSCFG_TIM3_RMP_DMA1_CH6 (*)
  445. *
  446. * (*) value not defined in all devices.
  447. * @retval None
  448. */
  449. __STATIC_INLINE void LL_SYSCFG_SetRemapDMA_TIM(uint32_t Remap)
  450. {
  451. MODIFY_REG(SYSCFG->CFGR1, (Remap & 0x00FF00FFU) << 8U, (Remap & 0xFF00FF00U));
  452. }
  453. #endif /* SYSCFG_CFGR1_TIM16_DMA_RMP || SYSCFG_CFGR1_TIM17_DMA_RMP || SYSCFG_CFGR1_TIM1_DMA_RMP || SYSCFG_CFGR1_TIM2_DMA_RMP || SYSCFG_CFGR1_TIM3_DMA_RMP */
  454. #if defined(SYSCFG_CFGR1_PA11_PA12_RMP)
  455. /**
  456. * @brief Enable PIN pair PA11/12 mapped instead of PA9/10 (control the mapping of either
  457. * PA9/10 or PA11/12 pin pair on small pin-count packages)
  458. * @rmtoll SYSCFG_CFGR1 PA11_PA12_RMP LL_SYSCFG_EnablePinRemap
  459. * @retval None
  460. */
  461. __STATIC_INLINE void LL_SYSCFG_EnablePinRemap(void)
  462. {
  463. SET_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_PA11_PA12_RMP);
  464. }
  465. /**
  466. * @brief Disable PIN pair PA11/12 mapped instead of PA9/10 (control the mapping of either
  467. * PA9/10 or PA11/12 pin pair on small pin-count packages)
  468. * @rmtoll SYSCFG_CFGR1 PA11_PA12_RMP LL_SYSCFG_DisablePinRemap
  469. * @retval None
  470. */
  471. __STATIC_INLINE void LL_SYSCFG_DisablePinRemap(void)
  472. {
  473. CLEAR_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_PA11_PA12_RMP);
  474. }
  475. #endif /* SYSCFG_CFGR1_PA11_PA12_RMP */
  476. /**
  477. * @brief Enable the I2C fast mode plus driving capability.
  478. * @rmtoll SYSCFG_CFGR1 I2C_FMP_PB6 LL_SYSCFG_EnableFastModePlus\n
  479. * SYSCFG_CFGR1 I2C_FMP_PB7 LL_SYSCFG_EnableFastModePlus\n
  480. * SYSCFG_CFGR1 I2C_FMP_PB8 LL_SYSCFG_EnableFastModePlus\n
  481. * SYSCFG_CFGR1 I2C_FMP_PB9 LL_SYSCFG_EnableFastModePlus\n
  482. * SYSCFG_CFGR1 I2C_FMP_I2C1 LL_SYSCFG_EnableFastModePlus\n
  483. * SYSCFG_CFGR1 I2C_FMP_I2C2 LL_SYSCFG_EnableFastModePlus\n
  484. * SYSCFG_CFGR1 I2C_FMP_PA9 LL_SYSCFG_EnableFastModePlus\n
  485. * SYSCFG_CFGR1 I2C_FMP_PA10 LL_SYSCFG_EnableFastModePlus
  486. * @param ConfigFastModePlus This parameter can be a combination of the following values:
  487. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB6
  488. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB7
  489. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB8
  490. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB9
  491. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 (*)
  492. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C2 (*)
  493. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA9 (*)
  494. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA10 (*)
  495. *
  496. * (*) value not defined in all devices
  497. * @retval None
  498. */
  499. __STATIC_INLINE void LL_SYSCFG_EnableFastModePlus(uint32_t ConfigFastModePlus)
  500. {
  501. SET_BIT(SYSCFG->CFGR1, ConfigFastModePlus);
  502. }
  503. /**
  504. * @brief Disable the I2C fast mode plus driving capability.
  505. * @rmtoll SYSCFG_CFGR1 I2C_FMP_PB6 LL_SYSCFG_DisableFastModePlus\n
  506. * SYSCFG_CFGR1 I2C_FMP_PB7 LL_SYSCFG_DisableFastModePlus\n
  507. * SYSCFG_CFGR1 I2C_FMP_PB8 LL_SYSCFG_DisableFastModePlus\n
  508. * SYSCFG_CFGR1 I2C_FMP_PB9 LL_SYSCFG_DisableFastModePlus\n
  509. * SYSCFG_CFGR1 I2C_FMP_I2C1 LL_SYSCFG_DisableFastModePlus\n
  510. * SYSCFG_CFGR1 I2C_FMP_I2C2 LL_SYSCFG_DisableFastModePlus\n
  511. * SYSCFG_CFGR1 I2C_FMP_PA9 LL_SYSCFG_DisableFastModePlus\n
  512. * SYSCFG_CFGR1 I2C_FMP_PA10 LL_SYSCFG_DisableFastModePlus
  513. * @param ConfigFastModePlus This parameter can be a combination of the following values:
  514. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB6
  515. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB7
  516. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB8
  517. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PB9
  518. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C1 (*)
  519. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_I2C2 (*)
  520. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA9 (*)
  521. * @arg @ref LL_SYSCFG_I2C_FASTMODEPLUS_PA10 (*)
  522. *
  523. * (*) value not defined in all devices
  524. * @retval None
  525. */
  526. __STATIC_INLINE void LL_SYSCFG_DisableFastModePlus(uint32_t ConfigFastModePlus)
  527. {
  528. CLEAR_BIT(SYSCFG->CFGR1, ConfigFastModePlus);
  529. }
  530. /**
  531. * @brief Configure source input for the EXTI external interrupt.
  532. * @rmtoll SYSCFG_EXTICR1 EXTI0 LL_SYSCFG_SetEXTISource\n
  533. * SYSCFG_EXTICR1 EXTI1 LL_SYSCFG_SetEXTISource\n
  534. * SYSCFG_EXTICR1 EXTI2 LL_SYSCFG_SetEXTISource\n
  535. * SYSCFG_EXTICR1 EXTI3 LL_SYSCFG_SetEXTISource\n
  536. * SYSCFG_EXTICR2 EXTI4 LL_SYSCFG_SetEXTISource\n
  537. * SYSCFG_EXTICR2 EXTI5 LL_SYSCFG_SetEXTISource\n
  538. * SYSCFG_EXTICR2 EXTI6 LL_SYSCFG_SetEXTISource\n
  539. * SYSCFG_EXTICR2 EXTI7 LL_SYSCFG_SetEXTISource\n
  540. * SYSCFG_EXTICR3 EXTI8 LL_SYSCFG_SetEXTISource\n
  541. * SYSCFG_EXTICR3 EXTI9 LL_SYSCFG_SetEXTISource\n
  542. * SYSCFG_EXTICR3 EXTI10 LL_SYSCFG_SetEXTISource\n
  543. * SYSCFG_EXTICR3 EXTI11 LL_SYSCFG_SetEXTISource\n
  544. * SYSCFG_EXTICR4 EXTI12 LL_SYSCFG_SetEXTISource\n
  545. * SYSCFG_EXTICR4 EXTI13 LL_SYSCFG_SetEXTISource\n
  546. * SYSCFG_EXTICR4 EXTI14 LL_SYSCFG_SetEXTISource\n
  547. * SYSCFG_EXTICR4 EXTI15 LL_SYSCFG_SetEXTISource
  548. * @param Port This parameter can be one of the following values:
  549. * @arg @ref LL_SYSCFG_EXTI_PORTA
  550. * @arg @ref LL_SYSCFG_EXTI_PORTB
  551. * @arg @ref LL_SYSCFG_EXTI_PORTC
  552. * @arg @ref LL_SYSCFG_EXTI_PORTD (*)
  553. * @arg @ref LL_SYSCFG_EXTI_PORTE (*)
  554. * @arg @ref LL_SYSCFG_EXTI_PORTF
  555. *
  556. * (*) value not defined in all devices
  557. * @param Line This parameter can be one of the following values:
  558. * @arg @ref LL_SYSCFG_EXTI_LINE0
  559. * @arg @ref LL_SYSCFG_EXTI_LINE1
  560. * @arg @ref LL_SYSCFG_EXTI_LINE2
  561. * @arg @ref LL_SYSCFG_EXTI_LINE3
  562. * @arg @ref LL_SYSCFG_EXTI_LINE4
  563. * @arg @ref LL_SYSCFG_EXTI_LINE5
  564. * @arg @ref LL_SYSCFG_EXTI_LINE6
  565. * @arg @ref LL_SYSCFG_EXTI_LINE7
  566. * @arg @ref LL_SYSCFG_EXTI_LINE8
  567. * @arg @ref LL_SYSCFG_EXTI_LINE9
  568. * @arg @ref LL_SYSCFG_EXTI_LINE10
  569. * @arg @ref LL_SYSCFG_EXTI_LINE11
  570. * @arg @ref LL_SYSCFG_EXTI_LINE12
  571. * @arg @ref LL_SYSCFG_EXTI_LINE13
  572. * @arg @ref LL_SYSCFG_EXTI_LINE14
  573. * @arg @ref LL_SYSCFG_EXTI_LINE15
  574. * @retval None
  575. */
  576. __STATIC_INLINE void LL_SYSCFG_SetEXTISource(uint32_t Port, uint32_t Line)
  577. {
  578. MODIFY_REG(SYSCFG->EXTICR[Line & 0xFF], SYSCFG_EXTICR1_EXTI0 << (Line >> 16), Port << (Line >> 16));
  579. }
  580. /**
  581. * @brief Get the configured defined for specific EXTI Line
  582. * @rmtoll SYSCFG_EXTICR1 EXTI0 LL_SYSCFG_SetEXTISource\n
  583. * SYSCFG_EXTICR1 EXTI1 LL_SYSCFG_SetEXTISource\n
  584. * SYSCFG_EXTICR1 EXTI2 LL_SYSCFG_SetEXTISource\n
  585. * SYSCFG_EXTICR1 EXTI3 LL_SYSCFG_SetEXTISource\n
  586. * SYSCFG_EXTICR2 EXTI4 LL_SYSCFG_SetEXTISource\n
  587. * SYSCFG_EXTICR2 EXTI5 LL_SYSCFG_SetEXTISource\n
  588. * SYSCFG_EXTICR2 EXTI6 LL_SYSCFG_SetEXTISource\n
  589. * SYSCFG_EXTICR2 EXTI7 LL_SYSCFG_SetEXTISource\n
  590. * SYSCFG_EXTICR3 EXTI8 LL_SYSCFG_SetEXTISource\n
  591. * SYSCFG_EXTICR3 EXTI9 LL_SYSCFG_SetEXTISource\n
  592. * SYSCFG_EXTICR3 EXTI10 LL_SYSCFG_SetEXTISource\n
  593. * SYSCFG_EXTICR3 EXTI11 LL_SYSCFG_SetEXTISource\n
  594. * SYSCFG_EXTICR4 EXTI12 LL_SYSCFG_SetEXTISource\n
  595. * SYSCFG_EXTICR4 EXTI13 LL_SYSCFG_SetEXTISource\n
  596. * SYSCFG_EXTICR4 EXTI14 LL_SYSCFG_SetEXTISource\n
  597. * SYSCFG_EXTICR4 EXTI15 LL_SYSCFG_SetEXTISource
  598. * @param Line This parameter can be one of the following values:
  599. * @arg @ref LL_SYSCFG_EXTI_LINE0
  600. * @arg @ref LL_SYSCFG_EXTI_LINE1
  601. * @arg @ref LL_SYSCFG_EXTI_LINE2
  602. * @arg @ref LL_SYSCFG_EXTI_LINE3
  603. * @arg @ref LL_SYSCFG_EXTI_LINE4
  604. * @arg @ref LL_SYSCFG_EXTI_LINE5
  605. * @arg @ref LL_SYSCFG_EXTI_LINE6
  606. * @arg @ref LL_SYSCFG_EXTI_LINE7
  607. * @arg @ref LL_SYSCFG_EXTI_LINE8
  608. * @arg @ref LL_SYSCFG_EXTI_LINE9
  609. * @arg @ref LL_SYSCFG_EXTI_LINE10
  610. * @arg @ref LL_SYSCFG_EXTI_LINE11
  611. * @arg @ref LL_SYSCFG_EXTI_LINE12
  612. * @arg @ref LL_SYSCFG_EXTI_LINE13
  613. * @arg @ref LL_SYSCFG_EXTI_LINE14
  614. * @arg @ref LL_SYSCFG_EXTI_LINE15
  615. * @retval Returned value can be one of the following values:
  616. * @arg @ref LL_SYSCFG_EXTI_PORTA
  617. * @arg @ref LL_SYSCFG_EXTI_PORTB
  618. * @arg @ref LL_SYSCFG_EXTI_PORTC
  619. * @arg @ref LL_SYSCFG_EXTI_PORTD (*)
  620. * @arg @ref LL_SYSCFG_EXTI_PORTE (*)
  621. * @arg @ref LL_SYSCFG_EXTI_PORTF
  622. *
  623. * (*) value not defined in all devices
  624. */
  625. __STATIC_INLINE uint32_t LL_SYSCFG_GetEXTISource(uint32_t Line)
  626. {
  627. return (uint32_t)(READ_BIT(SYSCFG->EXTICR[Line & 0xFF], (SYSCFG_EXTICR1_EXTI0 << (Line >> 16))) >> (Line >> 16));
  628. }
  629. #if defined(SYSCFG_ITLINE0_SR_EWDG)
  630. /**
  631. * @brief Check if Window watchdog interrupt occurred or not.
  632. * @rmtoll SYSCFG_ITLINE0 SR_EWDG LL_SYSCFG_IsActiveFlag_WWDG
  633. * @retval State of bit (1 or 0).
  634. */
  635. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_WWDG(void)
  636. {
  637. return (READ_BIT(SYSCFG->IT_LINE_SR[0], SYSCFG_ITLINE0_SR_EWDG) == (SYSCFG_ITLINE0_SR_EWDG));
  638. }
  639. #endif /* SYSCFG_ITLINE0_SR_EWDG */
  640. #if defined(SYSCFG_ITLINE1_SR_PVDOUT)
  641. /**
  642. * @brief Check if PVD supply monitoring interrupt occurred or not (EXTI line 16).
  643. * @rmtoll SYSCFG_ITLINE1 SR_PVDOUT LL_SYSCFG_IsActiveFlag_PVDOUT
  644. * @retval State of bit (1 or 0).
  645. */
  646. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_PVDOUT(void)
  647. {
  648. return (READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_PVDOUT) == (SYSCFG_ITLINE1_SR_PVDOUT));
  649. }
  650. #endif /* SYSCFG_ITLINE1_SR_PVDOUT */
  651. #if defined(SYSCFG_ITLINE1_SR_VDDIO2)
  652. /**
  653. * @brief Check if VDDIO2 supply monitoring interrupt occurred or not (EXTI line 31).
  654. * @rmtoll SYSCFG_ITLINE1 SR_VDDIO2 LL_SYSCFG_IsActiveFlag_VDDIO2
  655. * @retval State of bit (1 or 0).
  656. */
  657. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_VDDIO2(void)
  658. {
  659. return (READ_BIT(SYSCFG->IT_LINE_SR[1], SYSCFG_ITLINE1_SR_VDDIO2) == (SYSCFG_ITLINE1_SR_VDDIO2));
  660. }
  661. #endif /* SYSCFG_ITLINE1_SR_VDDIO2 */
  662. #if defined(SYSCFG_ITLINE2_SR_RTC_WAKEUP)
  663. /**
  664. * @brief Check if RTC Wake Up interrupt occurred or not (EXTI line 20).
  665. * @rmtoll SYSCFG_ITLINE2 SR_RTC_WAKEUP LL_SYSCFG_IsActiveFlag_RTC_WAKEUP
  666. * @retval State of bit (1 or 0).
  667. */
  668. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RTC_WAKEUP(void)
  669. {
  670. return (READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_RTC_WAKEUP) == (SYSCFG_ITLINE2_SR_RTC_WAKEUP));
  671. }
  672. #endif /* SYSCFG_ITLINE2_SR_RTC_WAKEUP */
  673. #if defined(SYSCFG_ITLINE2_SR_RTC_TSTAMP)
  674. /**
  675. * @brief Check if RTC Tamper and TimeStamp interrupt occurred or not (EXTI line 19).
  676. * @rmtoll SYSCFG_ITLINE2 SR_RTC_TSTAMP LL_SYSCFG_IsActiveFlag_RTC_TSTAMP
  677. * @retval State of bit (1 or 0).
  678. */
  679. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RTC_TSTAMP(void)
  680. {
  681. return (READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_RTC_TSTAMP) == (SYSCFG_ITLINE2_SR_RTC_TSTAMP));
  682. }
  683. #endif /* SYSCFG_ITLINE2_SR_RTC_TSTAMP */
  684. #if defined(SYSCFG_ITLINE2_SR_RTC_ALRA)
  685. /**
  686. * @brief Check if RTC Alarm interrupt occurred or not (EXTI line 17).
  687. * @rmtoll SYSCFG_ITLINE2 SR_RTC_ALRA LL_SYSCFG_IsActiveFlag_RTC_ALRA
  688. * @retval State of bit (1 or 0).
  689. */
  690. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_RTC_ALRA(void)
  691. {
  692. return (READ_BIT(SYSCFG->IT_LINE_SR[2], SYSCFG_ITLINE2_SR_RTC_ALRA) == (SYSCFG_ITLINE2_SR_RTC_ALRA));
  693. }
  694. #endif /* SYSCFG_ITLINE2_SR_RTC_ALRA */
  695. #if defined(SYSCFG_ITLINE3_SR_FLASH_ITF)
  696. /**
  697. * @brief Check if Flash interface interrupt occurred or not.
  698. * @rmtoll SYSCFG_ITLINE3 SR_FLASH_ITF LL_SYSCFG_IsActiveFlag_FLASH_ITF
  699. * @retval State of bit (1 or 0).
  700. */
  701. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_FLASH_ITF(void)
  702. {
  703. return (READ_BIT(SYSCFG->IT_LINE_SR[3], SYSCFG_ITLINE3_SR_FLASH_ITF) == (SYSCFG_ITLINE3_SR_FLASH_ITF));
  704. }
  705. #endif /* SYSCFG_ITLINE3_SR_FLASH_ITF */
  706. #if defined(SYSCFG_ITLINE4_SR_CRS)
  707. /**
  708. * @brief Check if Clock recovery system interrupt occurred or not.
  709. * @rmtoll SYSCFG_ITLINE4 SR_CRS LL_SYSCFG_IsActiveFlag_CRS
  710. * @retval State of bit (1 or 0).
  711. */
  712. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CRS(void)
  713. {
  714. return (READ_BIT(SYSCFG->IT_LINE_SR[4], SYSCFG_ITLINE4_SR_CRS) == (SYSCFG_ITLINE4_SR_CRS));
  715. }
  716. #endif /* SYSCFG_ITLINE4_SR_CRS */
  717. #if defined(SYSCFG_ITLINE4_SR_CLK_CTRL)
  718. /**
  719. * @brief Check if Reset and clock control interrupt occurred or not.
  720. * @rmtoll SYSCFG_ITLINE4 SR_CLK_CTRL LL_SYSCFG_IsActiveFlag_CLK_CTRL
  721. * @retval State of bit (1 or 0).
  722. */
  723. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CLK_CTRL(void)
  724. {
  725. return (READ_BIT(SYSCFG->IT_LINE_SR[4], SYSCFG_ITLINE4_SR_CLK_CTRL) == (SYSCFG_ITLINE4_SR_CLK_CTRL));
  726. }
  727. #endif /* SYSCFG_ITLINE4_SR_CLK_CTRL */
  728. #if defined(SYSCFG_ITLINE5_SR_EXTI0)
  729. /**
  730. * @brief Check if EXTI line 0 interrupt occurred or not.
  731. * @rmtoll SYSCFG_ITLINE5 SR_EXTI0 LL_SYSCFG_IsActiveFlag_EXTI0
  732. * @retval State of bit (1 or 0).
  733. */
  734. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI0(void)
  735. {
  736. return (READ_BIT(SYSCFG->IT_LINE_SR[5], SYSCFG_ITLINE5_SR_EXTI0) == (SYSCFG_ITLINE5_SR_EXTI0));
  737. }
  738. #endif /* SYSCFG_ITLINE5_SR_EXTI0 */
  739. #if defined(SYSCFG_ITLINE5_SR_EXTI1)
  740. /**
  741. * @brief Check if EXTI line 1 interrupt occurred or not.
  742. * @rmtoll SYSCFG_ITLINE5 SR_EXTI1 LL_SYSCFG_IsActiveFlag_EXTI1
  743. * @retval State of bit (1 or 0).
  744. */
  745. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI1(void)
  746. {
  747. return (READ_BIT(SYSCFG->IT_LINE_SR[5], SYSCFG_ITLINE5_SR_EXTI1) == (SYSCFG_ITLINE5_SR_EXTI1));
  748. }
  749. #endif /* SYSCFG_ITLINE5_SR_EXTI1 */
  750. #if defined(SYSCFG_ITLINE6_SR_EXTI2)
  751. /**
  752. * @brief Check if EXTI line 2 interrupt occurred or not.
  753. * @rmtoll SYSCFG_ITLINE6 SR_EXTI2 LL_SYSCFG_IsActiveFlag_EXTI2
  754. * @retval State of bit (1 or 0).
  755. */
  756. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI2(void)
  757. {
  758. return (READ_BIT(SYSCFG->IT_LINE_SR[6], SYSCFG_ITLINE6_SR_EXTI2) == (SYSCFG_ITLINE6_SR_EXTI2));
  759. }
  760. #endif /* SYSCFG_ITLINE6_SR_EXTI2 */
  761. #if defined(SYSCFG_ITLINE6_SR_EXTI3)
  762. /**
  763. * @brief Check if EXTI line 3 interrupt occurred or not.
  764. * @rmtoll SYSCFG_ITLINE6 SR_EXTI3 LL_SYSCFG_IsActiveFlag_EXTI3
  765. * @retval State of bit (1 or 0).
  766. */
  767. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI3(void)
  768. {
  769. return (READ_BIT(SYSCFG->IT_LINE_SR[6], SYSCFG_ITLINE6_SR_EXTI3) == (SYSCFG_ITLINE6_SR_EXTI3));
  770. }
  771. #endif /* SYSCFG_ITLINE6_SR_EXTI3 */
  772. #if defined(SYSCFG_ITLINE7_SR_EXTI4)
  773. /**
  774. * @brief Check if EXTI line 4 interrupt occurred or not.
  775. * @rmtoll SYSCFG_ITLINE7 SR_EXTI4 LL_SYSCFG_IsActiveFlag_EXTI4
  776. * @retval State of bit (1 or 0).
  777. */
  778. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI4(void)
  779. {
  780. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI4) == (SYSCFG_ITLINE7_SR_EXTI4));
  781. }
  782. #endif /* SYSCFG_ITLINE7_SR_EXTI4 */
  783. #if defined(SYSCFG_ITLINE7_SR_EXTI5)
  784. /**
  785. * @brief Check if EXTI line 5 interrupt occurred or not.
  786. * @rmtoll SYSCFG_ITLINE7 SR_EXTI5 LL_SYSCFG_IsActiveFlag_EXTI5
  787. * @retval State of bit (1 or 0).
  788. */
  789. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI5(void)
  790. {
  791. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI5) == (SYSCFG_ITLINE7_SR_EXTI5));
  792. }
  793. #endif /* SYSCFG_ITLINE7_SR_EXTI5 */
  794. #if defined(SYSCFG_ITLINE7_SR_EXTI6)
  795. /**
  796. * @brief Check if EXTI line 6 interrupt occurred or not.
  797. * @rmtoll SYSCFG_ITLINE7 SR_EXTI6 LL_SYSCFG_IsActiveFlag_EXTI6
  798. * @retval State of bit (1 or 0).
  799. */
  800. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI6(void)
  801. {
  802. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI6) == (SYSCFG_ITLINE7_SR_EXTI6));
  803. }
  804. #endif /* SYSCFG_ITLINE7_SR_EXTI6 */
  805. #if defined(SYSCFG_ITLINE7_SR_EXTI7)
  806. /**
  807. * @brief Check if EXTI line 7 interrupt occurred or not.
  808. * @rmtoll SYSCFG_ITLINE7 SR_EXTI7 LL_SYSCFG_IsActiveFlag_EXTI7
  809. * @retval State of bit (1 or 0).
  810. */
  811. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI7(void)
  812. {
  813. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI7) == (SYSCFG_ITLINE7_SR_EXTI7));
  814. }
  815. #endif /* SYSCFG_ITLINE7_SR_EXTI7 */
  816. #if defined(SYSCFG_ITLINE7_SR_EXTI8)
  817. /**
  818. * @brief Check if EXTI line 8 interrupt occurred or not.
  819. * @rmtoll SYSCFG_ITLINE7 SR_EXTI8 LL_SYSCFG_IsActiveFlag_EXTI8
  820. * @retval State of bit (1 or 0).
  821. */
  822. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI8(void)
  823. {
  824. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI8) == (SYSCFG_ITLINE7_SR_EXTI8));
  825. }
  826. #endif /* SYSCFG_ITLINE7_SR_EXTI8 */
  827. #if defined(SYSCFG_ITLINE7_SR_EXTI9)
  828. /**
  829. * @brief Check if EXTI line 9 interrupt occurred or not.
  830. * @rmtoll SYSCFG_ITLINE7 SR_EXTI9 LL_SYSCFG_IsActiveFlag_EXTI9
  831. * @retval State of bit (1 or 0).
  832. */
  833. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI9(void)
  834. {
  835. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI9) == (SYSCFG_ITLINE7_SR_EXTI9));
  836. }
  837. #endif /* SYSCFG_ITLINE7_SR_EXTI9 */
  838. #if defined(SYSCFG_ITLINE7_SR_EXTI10)
  839. /**
  840. * @brief Check if EXTI line 10 interrupt occurred or not.
  841. * @rmtoll SYSCFG_ITLINE7 SR_EXTI10 LL_SYSCFG_IsActiveFlag_EXTI10
  842. * @retval State of bit (1 or 0).
  843. */
  844. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI10(void)
  845. {
  846. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI10) == (SYSCFG_ITLINE7_SR_EXTI10));
  847. }
  848. #endif /* SYSCFG_ITLINE7_SR_EXTI10 */
  849. #if defined(SYSCFG_ITLINE7_SR_EXTI11)
  850. /**
  851. * @brief Check if EXTI line 11 interrupt occurred or not.
  852. * @rmtoll SYSCFG_ITLINE7 SR_EXTI11 LL_SYSCFG_IsActiveFlag_EXTI11
  853. * @retval State of bit (1 or 0).
  854. */
  855. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI11(void)
  856. {
  857. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI11) == (SYSCFG_ITLINE7_SR_EXTI11));
  858. }
  859. #endif /* SYSCFG_ITLINE7_SR_EXTI11 */
  860. #if defined(SYSCFG_ITLINE7_SR_EXTI12)
  861. /**
  862. * @brief Check if EXTI line 12 interrupt occurred or not.
  863. * @rmtoll SYSCFG_ITLINE7 SR_EXTI12 LL_SYSCFG_IsActiveFlag_EXTI12
  864. * @retval State of bit (1 or 0).
  865. */
  866. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI12(void)
  867. {
  868. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI12) == (SYSCFG_ITLINE7_SR_EXTI12));
  869. }
  870. #endif /* SYSCFG_ITLINE7_SR_EXTI12 */
  871. #if defined(SYSCFG_ITLINE7_SR_EXTI13)
  872. /**
  873. * @brief Check if EXTI line 13 interrupt occurred or not.
  874. * @rmtoll SYSCFG_ITLINE7 SR_EXTI13 LL_SYSCFG_IsActiveFlag_EXTI13
  875. * @retval State of bit (1 or 0).
  876. */
  877. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI13(void)
  878. {
  879. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI13) == (SYSCFG_ITLINE7_SR_EXTI13));
  880. }
  881. #endif /* SYSCFG_ITLINE7_SR_EXTI13 */
  882. #if defined(SYSCFG_ITLINE7_SR_EXTI14)
  883. /**
  884. * @brief Check if EXTI line 14 interrupt occurred or not.
  885. * @rmtoll SYSCFG_ITLINE7 SR_EXTI14 LL_SYSCFG_IsActiveFlag_EXTI14
  886. * @retval State of bit (1 or 0).
  887. */
  888. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI14(void)
  889. {
  890. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI14) == (SYSCFG_ITLINE7_SR_EXTI14));
  891. }
  892. #endif /* SYSCFG_ITLINE7_SR_EXTI14 */
  893. #if defined(SYSCFG_ITLINE7_SR_EXTI15)
  894. /**
  895. * @brief Check if EXTI line 15 interrupt occurred or not.
  896. * @rmtoll SYSCFG_ITLINE7 SR_EXTI15 LL_SYSCFG_IsActiveFlag_EXTI15
  897. * @retval State of bit (1 or 0).
  898. */
  899. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_EXTI15(void)
  900. {
  901. return (READ_BIT(SYSCFG->IT_LINE_SR[7], SYSCFG_ITLINE7_SR_EXTI15) == (SYSCFG_ITLINE7_SR_EXTI15));
  902. }
  903. #endif /* SYSCFG_ITLINE7_SR_EXTI15 */
  904. #if defined(SYSCFG_ITLINE8_SR_TSC_EOA)
  905. /**
  906. * @brief Check if Touch sensing controller end of acquisition interrupt occurred or not.
  907. * @rmtoll SYSCFG_ITLINE8 SR_TSC_EOA LL_SYSCFG_IsActiveFlag_TSC_EOA
  908. * @retval State of bit (1 or 0).
  909. */
  910. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TSC_EOA(void)
  911. {
  912. return (READ_BIT(SYSCFG->IT_LINE_SR[8], SYSCFG_ITLINE8_SR_TSC_EOA) == (SYSCFG_ITLINE8_SR_TSC_EOA));
  913. }
  914. #endif /* SYSCFG_ITLINE8_SR_TSC_EOA */
  915. #if defined(SYSCFG_ITLINE8_SR_TSC_MCE)
  916. /**
  917. * @brief Check if Touch sensing controller max counterror interrupt occurred or not.
  918. * @rmtoll SYSCFG_ITLINE8 SR_TSC_MCE LL_SYSCFG_IsActiveFlag_TSC_MCE
  919. * @retval State of bit (1 or 0).
  920. */
  921. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TSC_MCE(void)
  922. {
  923. return (READ_BIT(SYSCFG->IT_LINE_SR[8], SYSCFG_ITLINE8_SR_TSC_MCE) == (SYSCFG_ITLINE8_SR_TSC_MCE));
  924. }
  925. #endif /* SYSCFG_ITLINE8_SR_TSC_MCE */
  926. #if defined(SYSCFG_ITLINE9_SR_DMA1_CH1)
  927. /**
  928. * @brief Check if DMA1 channel 1 interrupt occurred or not.
  929. * @rmtoll SYSCFG_ITLINE9 SR_DMA1_CH1 LL_SYSCFG_IsActiveFlag_DMA1_CH1
  930. * @retval State of bit (1 or 0).
  931. */
  932. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH1(void)
  933. {
  934. return (READ_BIT(SYSCFG->IT_LINE_SR[9], SYSCFG_ITLINE9_SR_DMA1_CH1) == (SYSCFG_ITLINE9_SR_DMA1_CH1));
  935. }
  936. #endif /* SYSCFG_ITLINE9_SR_DMA1_CH1 */
  937. #if defined(SYSCFG_ITLINE10_SR_DMA1_CH2)
  938. /**
  939. * @brief Check if DMA1 channel 2 interrupt occurred or not.
  940. * @rmtoll SYSCFG_ITLINE10 SR_DMA1_CH2 LL_SYSCFG_IsActiveFlag_DMA1_CH2
  941. * @retval State of bit (1 or 0).
  942. */
  943. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH2(void)
  944. {
  945. return (READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA1_CH2) == (SYSCFG_ITLINE10_SR_DMA1_CH2));
  946. }
  947. #endif /* SYSCFG_ITLINE10_SR_DMA1_CH2 */
  948. #if defined(SYSCFG_ITLINE10_SR_DMA1_CH3)
  949. /**
  950. * @brief Check if DMA1 channel 3 interrupt occurred or not.
  951. * @rmtoll SYSCFG_ITLINE10 SR_DMA1_CH3 LL_SYSCFG_IsActiveFlag_DMA1_CH3
  952. * @retval State of bit (1 or 0).
  953. */
  954. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH3(void)
  955. {
  956. return (READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA1_CH3) == (SYSCFG_ITLINE10_SR_DMA1_CH3));
  957. }
  958. #endif /* SYSCFG_ITLINE10_SR_DMA1_CH3 */
  959. #if defined(SYSCFG_ITLINE10_SR_DMA2_CH1)
  960. /**
  961. * @brief Check if DMA2 channel 1 interrupt occurred or not.
  962. * @rmtoll SYSCFG_ITLINE10 SR_DMA2_CH1 LL_SYSCFG_IsActiveFlag_DMA2_CH1
  963. * @retval State of bit (1 or 0).
  964. */
  965. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH1(void)
  966. {
  967. return (READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA2_CH1) == (SYSCFG_ITLINE10_SR_DMA2_CH1));
  968. }
  969. #endif /* SYSCFG_ITLINE10_SR_DMA2_CH1 */
  970. #if defined(SYSCFG_ITLINE10_SR_DMA2_CH2)
  971. /**
  972. * @brief Check if DMA2 channel 2 interrupt occurred or not.
  973. * @rmtoll SYSCFG_ITLINE10 SR_DMA2_CH2 LL_SYSCFG_IsActiveFlag_DMA2_CH2
  974. * @retval State of bit (1 or 0).
  975. */
  976. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH2(void)
  977. {
  978. return (READ_BIT(SYSCFG->IT_LINE_SR[10], SYSCFG_ITLINE10_SR_DMA2_CH2) == (SYSCFG_ITLINE10_SR_DMA2_CH2));
  979. }
  980. #endif /* SYSCFG_ITLINE10_SR_DMA2_CH2 */
  981. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH4)
  982. /**
  983. * @brief Check if DMA1 channel 4 interrupt occurred or not.
  984. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH4 LL_SYSCFG_IsActiveFlag_DMA1_CH4
  985. * @retval State of bit (1 or 0).
  986. */
  987. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH4(void)
  988. {
  989. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH4) == (SYSCFG_ITLINE11_SR_DMA1_CH4));
  990. }
  991. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH4 */
  992. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH5)
  993. /**
  994. * @brief Check if DMA1 channel 5 interrupt occurred or not.
  995. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH5 LL_SYSCFG_IsActiveFlag_DMA1_CH5
  996. * @retval State of bit (1 or 0).
  997. */
  998. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH5(void)
  999. {
  1000. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH5) == (SYSCFG_ITLINE11_SR_DMA1_CH5));
  1001. }
  1002. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH5 */
  1003. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH6)
  1004. /**
  1005. * @brief Check if DMA1 channel 6 interrupt occurred or not.
  1006. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH6 LL_SYSCFG_IsActiveFlag_DMA1_CH6
  1007. * @retval State of bit (1 or 0).
  1008. */
  1009. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH6(void)
  1010. {
  1011. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH6) == (SYSCFG_ITLINE11_SR_DMA1_CH6));
  1012. }
  1013. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH6 */
  1014. #if defined(SYSCFG_ITLINE11_SR_DMA1_CH7)
  1015. /**
  1016. * @brief Check if DMA1 channel 7 interrupt occurred or not.
  1017. * @rmtoll SYSCFG_ITLINE11 SR_DMA1_CH7 LL_SYSCFG_IsActiveFlag_DMA1_CH7
  1018. * @retval State of bit (1 or 0).
  1019. */
  1020. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA1_CH7(void)
  1021. {
  1022. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA1_CH7) == (SYSCFG_ITLINE11_SR_DMA1_CH7));
  1023. }
  1024. #endif /* SYSCFG_ITLINE11_SR_DMA1_CH7 */
  1025. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH3)
  1026. /**
  1027. * @brief Check if DMA2 channel 3 interrupt occurred or not.
  1028. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH3 LL_SYSCFG_IsActiveFlag_DMA2_CH3
  1029. * @retval State of bit (1 or 0).
  1030. */
  1031. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH3(void)
  1032. {
  1033. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH3) == (SYSCFG_ITLINE11_SR_DMA2_CH3));
  1034. }
  1035. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH3 */
  1036. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH4)
  1037. /**
  1038. * @brief Check if DMA2 channel 4 interrupt occurred or not.
  1039. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH4 LL_SYSCFG_IsActiveFlag_DMA2_CH4
  1040. * @retval State of bit (1 or 0).
  1041. */
  1042. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH4(void)
  1043. {
  1044. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH4) == (SYSCFG_ITLINE11_SR_DMA2_CH4));
  1045. }
  1046. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH4 */
  1047. #if defined(SYSCFG_ITLINE11_SR_DMA2_CH5)
  1048. /**
  1049. * @brief Check if DMA2 channel 5 interrupt occurred or not.
  1050. * @rmtoll SYSCFG_ITLINE11 SR_DMA2_CH5 LL_SYSCFG_IsActiveFlag_DMA2_CH5
  1051. * @retval State of bit (1 or 0).
  1052. */
  1053. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DMA2_CH5(void)
  1054. {
  1055. return (READ_BIT(SYSCFG->IT_LINE_SR[11], SYSCFG_ITLINE11_SR_DMA2_CH5) == (SYSCFG_ITLINE11_SR_DMA2_CH5));
  1056. }
  1057. #endif /* SYSCFG_ITLINE11_SR_DMA2_CH5 */
  1058. #if defined(SYSCFG_ITLINE12_SR_ADC)
  1059. /**
  1060. * @brief Check if ADC interrupt occurred or not.
  1061. * @rmtoll SYSCFG_ITLINE12 SR_ADC LL_SYSCFG_IsActiveFlag_ADC
  1062. * @retval State of bit (1 or 0).
  1063. */
  1064. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_ADC(void)
  1065. {
  1066. return (READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_ADC) == (SYSCFG_ITLINE12_SR_ADC));
  1067. }
  1068. #endif /* SYSCFG_ITLINE12_SR_ADC */
  1069. #if defined(SYSCFG_ITLINE12_SR_COMP1)
  1070. /**
  1071. * @brief Check if Comparator 1 interrupt occurred or not (EXTI line 21).
  1072. * @rmtoll SYSCFG_ITLINE12 SR_COMP1 LL_SYSCFG_IsActiveFlag_COMP1
  1073. * @retval State of bit (1 or 0).
  1074. */
  1075. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP1(void)
  1076. {
  1077. return (READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP1) == (SYSCFG_ITLINE12_SR_COMP1));
  1078. }
  1079. #endif /* SYSCFG_ITLINE12_SR_COMP1 */
  1080. #if defined(SYSCFG_ITLINE12_SR_COMP2)
  1081. /**
  1082. * @brief Check if Comparator 2 interrupt occurred or not (EXTI line 22).
  1083. * @rmtoll SYSCFG_ITLINE12 SR_COMP2 LL_SYSCFG_IsActiveFlag_COMP2
  1084. * @retval State of bit (1 or 0).
  1085. */
  1086. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_COMP2(void)
  1087. {
  1088. return (READ_BIT(SYSCFG->IT_LINE_SR[12], SYSCFG_ITLINE12_SR_COMP2) == (SYSCFG_ITLINE12_SR_COMP2));
  1089. }
  1090. #endif /* SYSCFG_ITLINE12_SR_COMP2 */
  1091. #if defined(SYSCFG_ITLINE13_SR_TIM1_BRK)
  1092. /**
  1093. * @brief Check if Timer 1 break interrupt occurred or not.
  1094. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_BRK LL_SYSCFG_IsActiveFlag_TIM1_BRK
  1095. * @retval State of bit (1 or 0).
  1096. */
  1097. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_BRK(void)
  1098. {
  1099. return (READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_BRK) == (SYSCFG_ITLINE13_SR_TIM1_BRK));
  1100. }
  1101. #endif /* SYSCFG_ITLINE13_SR_TIM1_BRK */
  1102. #if defined(SYSCFG_ITLINE13_SR_TIM1_UPD)
  1103. /**
  1104. * @brief Check if Timer 1 update interrupt occurred or not.
  1105. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_UPD LL_SYSCFG_IsActiveFlag_TIM1_UPD
  1106. * @retval State of bit (1 or 0).
  1107. */
  1108. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_UPD(void)
  1109. {
  1110. return (READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_UPD) == (SYSCFG_ITLINE13_SR_TIM1_UPD));
  1111. }
  1112. #endif /* SYSCFG_ITLINE13_SR_TIM1_UPD */
  1113. #if defined(SYSCFG_ITLINE13_SR_TIM1_TRG)
  1114. /**
  1115. * @brief Check if Timer 1 trigger interrupt occurred or not.
  1116. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_TRG LL_SYSCFG_IsActiveFlag_TIM1_TRG
  1117. * @retval State of bit (1 or 0).
  1118. */
  1119. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_TRG(void)
  1120. {
  1121. return (READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_TRG) == (SYSCFG_ITLINE13_SR_TIM1_TRG));
  1122. }
  1123. #endif /* SYSCFG_ITLINE13_SR_TIM1_TRG */
  1124. #if defined(SYSCFG_ITLINE13_SR_TIM1_CCU)
  1125. /**
  1126. * @brief Check if Timer 1 commutation interrupt occurred or not.
  1127. * @rmtoll SYSCFG_ITLINE13 SR_TIM1_CCU LL_SYSCFG_IsActiveFlag_TIM1_CCU
  1128. * @retval State of bit (1 or 0).
  1129. */
  1130. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CCU(void)
  1131. {
  1132. return (READ_BIT(SYSCFG->IT_LINE_SR[13], SYSCFG_ITLINE13_SR_TIM1_CCU) == (SYSCFG_ITLINE13_SR_TIM1_CCU));
  1133. }
  1134. #endif /* SYSCFG_ITLINE13_SR_TIM1_CCU */
  1135. #if defined(SYSCFG_ITLINE14_SR_TIM1_CC)
  1136. /**
  1137. * @brief Check if Timer 1 capture compare interrupt occurred or not.
  1138. * @rmtoll SYSCFG_ITLINE14 SR_TIM1_CC LL_SYSCFG_IsActiveFlag_TIM1_CC
  1139. * @retval State of bit (1 or 0).
  1140. */
  1141. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM1_CC(void)
  1142. {
  1143. return (READ_BIT(SYSCFG->IT_LINE_SR[14], SYSCFG_ITLINE14_SR_TIM1_CC) == (SYSCFG_ITLINE14_SR_TIM1_CC));
  1144. }
  1145. #endif /* SYSCFG_ITLINE14_SR_TIM1_CC */
  1146. #if defined(SYSCFG_ITLINE15_SR_TIM2_GLB)
  1147. /**
  1148. * @brief Check if Timer 2 interrupt occurred or not.
  1149. * @rmtoll SYSCFG_ITLINE15 SR_TIM2_GLB LL_SYSCFG_IsActiveFlag_TIM2
  1150. * @retval State of bit (1 or 0).
  1151. */
  1152. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM2(void)
  1153. {
  1154. return (READ_BIT(SYSCFG->IT_LINE_SR[15], SYSCFG_ITLINE15_SR_TIM2_GLB) == (SYSCFG_ITLINE15_SR_TIM2_GLB));
  1155. }
  1156. #endif /* SYSCFG_ITLINE15_SR_TIM2_GLB */
  1157. #if defined(SYSCFG_ITLINE16_SR_TIM3_GLB)
  1158. /**
  1159. * @brief Check if Timer 3 interrupt occurred or not.
  1160. * @rmtoll SYSCFG_ITLINE16 SR_TIM3_GLB LL_SYSCFG_IsActiveFlag_TIM3
  1161. * @retval State of bit (1 or 0).
  1162. */
  1163. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM3(void)
  1164. {
  1165. return (READ_BIT(SYSCFG->IT_LINE_SR[16], SYSCFG_ITLINE16_SR_TIM3_GLB) == (SYSCFG_ITLINE16_SR_TIM3_GLB));
  1166. }
  1167. #endif /* SYSCFG_ITLINE16_SR_TIM3_GLB */
  1168. #if defined(SYSCFG_ITLINE17_SR_DAC)
  1169. /**
  1170. * @brief Check if DAC underrun interrupt occurred or not.
  1171. * @rmtoll SYSCFG_ITLINE17 SR_DAC LL_SYSCFG_IsActiveFlag_DAC
  1172. * @retval State of bit (1 or 0).
  1173. */
  1174. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_DAC(void)
  1175. {
  1176. return (READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_DAC) == (SYSCFG_ITLINE17_SR_DAC));
  1177. }
  1178. #endif /* SYSCFG_ITLINE17_SR_DAC */
  1179. #if defined(SYSCFG_ITLINE17_SR_TIM6_GLB)
  1180. /**
  1181. * @brief Check if Timer 6 interrupt occurred or not.
  1182. * @rmtoll SYSCFG_ITLINE17 SR_TIM6_GLB LL_SYSCFG_IsActiveFlag_TIM6
  1183. * @retval State of bit (1 or 0).
  1184. */
  1185. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM6(void)
  1186. {
  1187. return (READ_BIT(SYSCFG->IT_LINE_SR[17], SYSCFG_ITLINE17_SR_TIM6_GLB) == (SYSCFG_ITLINE17_SR_TIM6_GLB));
  1188. }
  1189. #endif /* SYSCFG_ITLINE17_SR_TIM6_GLB */
  1190. #if defined(SYSCFG_ITLINE18_SR_TIM7_GLB)
  1191. /**
  1192. * @brief Check if Timer 7 interrupt occurred or not.
  1193. * @rmtoll SYSCFG_ITLINE18 SR_TIM7_GLB LL_SYSCFG_IsActiveFlag_TIM7
  1194. * @retval State of bit (1 or 0).
  1195. */
  1196. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM7(void)
  1197. {
  1198. return (READ_BIT(SYSCFG->IT_LINE_SR[18], SYSCFG_ITLINE18_SR_TIM7_GLB) == (SYSCFG_ITLINE18_SR_TIM7_GLB));
  1199. }
  1200. #endif /* SYSCFG_ITLINE18_SR_TIM7_GLB */
  1201. #if defined(SYSCFG_ITLINE19_SR_TIM14_GLB)
  1202. /**
  1203. * @brief Check if Timer 14 interrupt occurred or not.
  1204. * @rmtoll SYSCFG_ITLINE19 SR_TIM14_GLB LL_SYSCFG_IsActiveFlag_TIM14
  1205. * @retval State of bit (1 or 0).
  1206. */
  1207. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM14(void)
  1208. {
  1209. return (READ_BIT(SYSCFG->IT_LINE_SR[19], SYSCFG_ITLINE19_SR_TIM14_GLB) == (SYSCFG_ITLINE19_SR_TIM14_GLB));
  1210. }
  1211. #endif /* SYSCFG_ITLINE19_SR_TIM14_GLB */
  1212. #if defined(SYSCFG_ITLINE20_SR_TIM15_GLB)
  1213. /**
  1214. * @brief Check if Timer 15 interrupt occurred or not.
  1215. * @rmtoll SYSCFG_ITLINE20 SR_TIM15_GLB LL_SYSCFG_IsActiveFlag_TIM15
  1216. * @retval State of bit (1 or 0).
  1217. */
  1218. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM15(void)
  1219. {
  1220. return (READ_BIT(SYSCFG->IT_LINE_SR[20], SYSCFG_ITLINE20_SR_TIM15_GLB) == (SYSCFG_ITLINE20_SR_TIM15_GLB));
  1221. }
  1222. #endif /* SYSCFG_ITLINE20_SR_TIM15_GLB */
  1223. #if defined(SYSCFG_ITLINE21_SR_TIM16_GLB)
  1224. /**
  1225. * @brief Check if Timer 16 interrupt occurred or not.
  1226. * @rmtoll SYSCFG_ITLINE21 SR_TIM16_GLB LL_SYSCFG_IsActiveFlag_TIM16
  1227. * @retval State of bit (1 or 0).
  1228. */
  1229. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM16(void)
  1230. {
  1231. return (READ_BIT(SYSCFG->IT_LINE_SR[21], SYSCFG_ITLINE21_SR_TIM16_GLB) == (SYSCFG_ITLINE21_SR_TIM16_GLB));
  1232. }
  1233. #endif /* SYSCFG_ITLINE21_SR_TIM16_GLB */
  1234. #if defined(SYSCFG_ITLINE22_SR_TIM17_GLB)
  1235. /**
  1236. * @brief Check if Timer 17 interrupt occurred or not.
  1237. * @rmtoll SYSCFG_ITLINE22 SR_TIM17_GLB LL_SYSCFG_IsActiveFlag_TIM17
  1238. * @retval State of bit (1 or 0).
  1239. */
  1240. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_TIM17(void)
  1241. {
  1242. return (READ_BIT(SYSCFG->IT_LINE_SR[22], SYSCFG_ITLINE22_SR_TIM17_GLB) == (SYSCFG_ITLINE22_SR_TIM17_GLB));
  1243. }
  1244. #endif /* SYSCFG_ITLINE22_SR_TIM17_GLB */
  1245. #if defined(SYSCFG_ITLINE23_SR_I2C1_GLB)
  1246. /**
  1247. * @brief Check if I2C1 interrupt occurred or not, combined with EXTI line 23.
  1248. * @rmtoll SYSCFG_ITLINE23 SR_I2C1_GLB LL_SYSCFG_IsActiveFlag_I2C1
  1249. * @retval State of bit (1 or 0).
  1250. */
  1251. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C1(void)
  1252. {
  1253. return (READ_BIT(SYSCFG->IT_LINE_SR[23], SYSCFG_ITLINE23_SR_I2C1_GLB) == (SYSCFG_ITLINE23_SR_I2C1_GLB));
  1254. }
  1255. #endif /* SYSCFG_ITLINE23_SR_I2C1_GLB */
  1256. #if defined(SYSCFG_ITLINE24_SR_I2C2_GLB)
  1257. /**
  1258. * @brief Check if I2C2 interrupt occurred or not.
  1259. * @rmtoll SYSCFG_ITLINE24 SR_I2C2_GLB LL_SYSCFG_IsActiveFlag_I2C2
  1260. * @retval State of bit (1 or 0).
  1261. */
  1262. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_I2C2(void)
  1263. {
  1264. return (READ_BIT(SYSCFG->IT_LINE_SR[24], SYSCFG_ITLINE24_SR_I2C2_GLB) == (SYSCFG_ITLINE24_SR_I2C2_GLB));
  1265. }
  1266. #endif /* SYSCFG_ITLINE24_SR_I2C2_GLB */
  1267. #if defined(SYSCFG_ITLINE25_SR_SPI1)
  1268. /**
  1269. * @brief Check if SPI1 interrupt occurred or not.
  1270. * @rmtoll SYSCFG_ITLINE25 SR_SPI1 LL_SYSCFG_IsActiveFlag_SPI1
  1271. * @retval State of bit (1 or 0).
  1272. */
  1273. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI1(void)
  1274. {
  1275. return (READ_BIT(SYSCFG->IT_LINE_SR[25], SYSCFG_ITLINE25_SR_SPI1) == (SYSCFG_ITLINE25_SR_SPI1));
  1276. }
  1277. #endif /* SYSCFG_ITLINE25_SR_SPI1 */
  1278. #if defined(SYSCFG_ITLINE26_SR_SPI2)
  1279. /**
  1280. * @brief Check if SPI2 interrupt occurred or not.
  1281. * @rmtoll SYSCFG_ITLINE26 SR_SPI2 LL_SYSCFG_IsActiveFlag_SPI2
  1282. * @retval State of bit (1 or 0).
  1283. */
  1284. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SPI2(void)
  1285. {
  1286. return (READ_BIT(SYSCFG->IT_LINE_SR[26], SYSCFG_ITLINE26_SR_SPI2) == (SYSCFG_ITLINE26_SR_SPI2));
  1287. }
  1288. #endif /* SYSCFG_ITLINE26_SR_SPI2 */
  1289. #if defined(SYSCFG_ITLINE27_SR_USART1_GLB)
  1290. /**
  1291. * @brief Check if USART1 interrupt occurred or not, combined with EXTI line 25.
  1292. * @rmtoll SYSCFG_ITLINE27 SR_USART1_GLB LL_SYSCFG_IsActiveFlag_USART1
  1293. * @retval State of bit (1 or 0).
  1294. */
  1295. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART1(void)
  1296. {
  1297. return (READ_BIT(SYSCFG->IT_LINE_SR[27], SYSCFG_ITLINE27_SR_USART1_GLB) == (SYSCFG_ITLINE27_SR_USART1_GLB));
  1298. }
  1299. #endif /* SYSCFG_ITLINE27_SR_USART1_GLB */
  1300. #if defined(SYSCFG_ITLINE28_SR_USART2_GLB)
  1301. /**
  1302. * @brief Check if USART2 interrupt occurred or not, combined with EXTI line 26.
  1303. * @rmtoll SYSCFG_ITLINE28 SR_USART2_GLB LL_SYSCFG_IsActiveFlag_USART2
  1304. * @retval State of bit (1 or 0).
  1305. */
  1306. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART2(void)
  1307. {
  1308. return (READ_BIT(SYSCFG->IT_LINE_SR[28], SYSCFG_ITLINE28_SR_USART2_GLB) == (SYSCFG_ITLINE28_SR_USART2_GLB));
  1309. }
  1310. #endif /* SYSCFG_ITLINE28_SR_USART2_GLB */
  1311. #if defined(SYSCFG_ITLINE29_SR_USART3_GLB)
  1312. /**
  1313. * @brief Check if USART3 interrupt occurred or not, combined with EXTI line 28.
  1314. * @rmtoll SYSCFG_ITLINE29 SR_USART3_GLB LL_SYSCFG_IsActiveFlag_USART3
  1315. * @retval State of bit (1 or 0).
  1316. */
  1317. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART3(void)
  1318. {
  1319. return (READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART3_GLB) == (SYSCFG_ITLINE29_SR_USART3_GLB));
  1320. }
  1321. #endif /* SYSCFG_ITLINE29_SR_USART3_GLB */
  1322. #if defined(SYSCFG_ITLINE29_SR_USART4_GLB)
  1323. /**
  1324. * @brief Check if USART4 interrupt occurred or not.
  1325. * @rmtoll SYSCFG_ITLINE29 SR_USART4_GLB LL_SYSCFG_IsActiveFlag_USART4
  1326. * @retval State of bit (1 or 0).
  1327. */
  1328. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART4(void)
  1329. {
  1330. return (READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART4_GLB) == (SYSCFG_ITLINE29_SR_USART4_GLB));
  1331. }
  1332. #endif /* SYSCFG_ITLINE29_SR_USART4_GLB */
  1333. #if defined(SYSCFG_ITLINE29_SR_USART5_GLB)
  1334. /**
  1335. * @brief Check if USART5 interrupt occurred or not.
  1336. * @rmtoll SYSCFG_ITLINE29 SR_USART5_GLB LL_SYSCFG_IsActiveFlag_USART5
  1337. * @retval State of bit (1 or 0).
  1338. */
  1339. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART5(void)
  1340. {
  1341. return (READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART5_GLB) == (SYSCFG_ITLINE29_SR_USART5_GLB));
  1342. }
  1343. #endif /* SYSCFG_ITLINE29_SR_USART5_GLB */
  1344. #if defined(SYSCFG_ITLINE29_SR_USART6_GLB)
  1345. /**
  1346. * @brief Check if USART6 interrupt occurred or not.
  1347. * @rmtoll SYSCFG_ITLINE29 SR_USART6_GLB LL_SYSCFG_IsActiveFlag_USART6
  1348. * @retval State of bit (1 or 0).
  1349. */
  1350. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART6(void)
  1351. {
  1352. return (READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART6_GLB) == (SYSCFG_ITLINE29_SR_USART6_GLB));
  1353. }
  1354. #endif /* SYSCFG_ITLINE29_SR_USART6_GLB */
  1355. #if defined(SYSCFG_ITLINE29_SR_USART7_GLB)
  1356. /**
  1357. * @brief Check if USART7 interrupt occurred or not.
  1358. * @rmtoll SYSCFG_ITLINE29 SR_USART7_GLB LL_SYSCFG_IsActiveFlag_USART7
  1359. * @retval State of bit (1 or 0).
  1360. */
  1361. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART7(void)
  1362. {
  1363. return (READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART7_GLB) == (SYSCFG_ITLINE29_SR_USART7_GLB));
  1364. }
  1365. #endif /* SYSCFG_ITLINE29_SR_USART7_GLB */
  1366. #if defined(SYSCFG_ITLINE29_SR_USART8_GLB)
  1367. /**
  1368. * @brief Check if USART8 interrupt occurred or not.
  1369. * @rmtoll SYSCFG_ITLINE29 SR_USART8_GLB LL_SYSCFG_IsActiveFlag_USART8
  1370. * @retval State of bit (1 or 0).
  1371. */
  1372. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_USART8(void)
  1373. {
  1374. return (READ_BIT(SYSCFG->IT_LINE_SR[29], SYSCFG_ITLINE29_SR_USART8_GLB) == (SYSCFG_ITLINE29_SR_USART8_GLB));
  1375. }
  1376. #endif /* SYSCFG_ITLINE29_SR_USART8_GLB */
  1377. #if defined(SYSCFG_ITLINE30_SR_CAN)
  1378. /**
  1379. * @brief Check if CAN interrupt occurred or not.
  1380. * @rmtoll SYSCFG_ITLINE30 SR_CAN LL_SYSCFG_IsActiveFlag_CAN
  1381. * @retval State of bit (1 or 0).
  1382. */
  1383. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CAN(void)
  1384. {
  1385. return (READ_BIT(SYSCFG->IT_LINE_SR[30], SYSCFG_ITLINE30_SR_CAN) == (SYSCFG_ITLINE30_SR_CAN));
  1386. }
  1387. #endif /* SYSCFG_ITLINE30_SR_CAN */
  1388. #if defined(SYSCFG_ITLINE30_SR_CEC)
  1389. /**
  1390. * @brief Check if CEC interrupt occurred or not, combined with EXTI line 27.
  1391. * @rmtoll SYSCFG_ITLINE30 SR_CEC LL_SYSCFG_IsActiveFlag_CEC
  1392. * @retval State of bit (1 or 0).
  1393. */
  1394. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_CEC(void)
  1395. {
  1396. return (READ_BIT(SYSCFG->IT_LINE_SR[30], SYSCFG_ITLINE30_SR_CEC) == (SYSCFG_ITLINE30_SR_CEC));
  1397. }
  1398. #endif /* SYSCFG_ITLINE30_SR_CEC */
  1399. /**
  1400. * @brief Set connections to TIMx Break inputs
  1401. * @rmtoll SYSCFG_CFGR2 LOCKUP_LOCK LL_SYSCFG_SetTIMBreakInputs\n
  1402. * SYSCFG_CFGR2 SRAM_PARITY_LOCK LL_SYSCFG_SetTIMBreakInputs\n
  1403. * SYSCFG_CFGR2 PVD_LOCK LL_SYSCFG_SetTIMBreakInputs
  1404. * @param Break This parameter can be a combination of the following values:
  1405. * @arg @ref LL_SYSCFG_TIMBREAK_PVD (*)
  1406. * @arg @ref LL_SYSCFG_TIMBREAK_SRAM_PARITY
  1407. * @arg @ref LL_SYSCFG_TIMBREAK_LOCKUP
  1408. *
  1409. * (*) value not defined in all devices
  1410. * @retval None
  1411. */
  1412. __STATIC_INLINE void LL_SYSCFG_SetTIMBreakInputs(uint32_t Break)
  1413. {
  1414. #if defined(SYSCFG_CFGR2_PVD_LOCK)
  1415. MODIFY_REG(SYSCFG->CFGR2, SYSCFG_CFGR2_LOCKUP_LOCK | SYSCFG_CFGR2_SRAM_PARITY_LOCK | SYSCFG_CFGR2_PVD_LOCK, Break);
  1416. #else
  1417. MODIFY_REG(SYSCFG->CFGR2, SYSCFG_CFGR2_LOCKUP_LOCK | SYSCFG_CFGR2_SRAM_PARITY_LOCK, Break);
  1418. #endif /*SYSCFG_CFGR2_PVD_LOCK*/
  1419. }
  1420. /**
  1421. * @brief Get connections to TIMx Break inputs
  1422. * @rmtoll SYSCFG_CFGR2 LOCKUP_LOCK LL_SYSCFG_GetTIMBreakInputs\n
  1423. * SYSCFG_CFGR2 SRAM_PARITY_LOCK LL_SYSCFG_GetTIMBreakInputs\n
  1424. * SYSCFG_CFGR2 PVD_LOCK LL_SYSCFG_GetTIMBreakInputs
  1425. * @retval Returned value can be can be a combination of the following values:
  1426. * @arg @ref LL_SYSCFG_TIMBREAK_PVD (*)
  1427. * @arg @ref LL_SYSCFG_TIMBREAK_SRAM_PARITY
  1428. * @arg @ref LL_SYSCFG_TIMBREAK_LOCKUP
  1429. *
  1430. * (*) value not defined in all devices
  1431. */
  1432. __STATIC_INLINE uint32_t LL_SYSCFG_GetTIMBreakInputs(void)
  1433. {
  1434. #if defined(SYSCFG_CFGR2_PVD_LOCK)
  1435. return (uint32_t)(READ_BIT(SYSCFG->CFGR2,
  1436. SYSCFG_CFGR2_LOCKUP_LOCK | SYSCFG_CFGR2_SRAM_PARITY_LOCK | SYSCFG_CFGR2_PVD_LOCK));
  1437. #else
  1438. return (uint32_t)(READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_LOCKUP_LOCK | SYSCFG_CFGR2_SRAM_PARITY_LOCK));
  1439. #endif /*SYSCFG_CFGR2_PVD_LOCK*/
  1440. }
  1441. /**
  1442. * @brief Check if SRAM parity error detected
  1443. * @rmtoll SYSCFG_CFGR2 SRAM_PEF LL_SYSCFG_IsActiveFlag_SP
  1444. * @retval State of bit (1 or 0).
  1445. */
  1446. __STATIC_INLINE uint32_t LL_SYSCFG_IsActiveFlag_SP(void)
  1447. {
  1448. return (READ_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_SRAM_PEF) == (SYSCFG_CFGR2_SRAM_PEF));
  1449. }
  1450. /**
  1451. * @brief Clear SRAM parity error flag
  1452. * @rmtoll SYSCFG_CFGR2 SRAM_PEF LL_SYSCFG_ClearFlag_SP
  1453. * @retval None
  1454. */
  1455. __STATIC_INLINE void LL_SYSCFG_ClearFlag_SP(void)
  1456. {
  1457. SET_BIT(SYSCFG->CFGR2, SYSCFG_CFGR2_SRAM_PEF);
  1458. }
  1459. /**
  1460. * @}
  1461. */
  1462. /** @defgroup SYSTEM_LL_EF_DBGMCU DBGMCU
  1463. * @{
  1464. */
  1465. /**
  1466. * @brief Return the device identifier
  1467. * @note For STM32F03x devices, the device ID is 0x444
  1468. * @note For STM32F04x devices, the device ID is 0x445.
  1469. * @note For STM32F05x devices, the device ID is 0x440
  1470. * @note For STM32F07x devices, the device ID is 0x448
  1471. * @note For STM32F09x devices, the device ID is 0x442
  1472. * @rmtoll DBGMCU_IDCODE DEV_ID LL_DBGMCU_GetDeviceID
  1473. * @retval Values between Min_Data=0x00 and Max_Data=0xFFF
  1474. */
  1475. __STATIC_INLINE uint32_t LL_DBGMCU_GetDeviceID(void)
  1476. {
  1477. return (uint32_t)(READ_BIT(DBGMCU->IDCODE, DBGMCU_IDCODE_DEV_ID));
  1478. }
  1479. /**
  1480. * @brief Return the device revision identifier
  1481. * @note This field indicates the revision of the device.
  1482. For example, it is read as 0x1000 for Revision 1.0.
  1483. * @rmtoll DBGMCU_IDCODE REV_ID LL_DBGMCU_GetRevisionID
  1484. * @retval Values between Min_Data=0x00 and Max_Data=0xFFFF
  1485. */
  1486. __STATIC_INLINE uint32_t LL_DBGMCU_GetRevisionID(void)
  1487. {
  1488. return (uint32_t)(READ_BIT(DBGMCU->IDCODE, DBGMCU_IDCODE_REV_ID) >> DBGMCU_IDCODE_REV_ID_Pos);
  1489. }
  1490. /**
  1491. * @brief Enable the Debug Module during STOP mode
  1492. * @rmtoll DBGMCU_CR DBG_STOP LL_DBGMCU_EnableDBGStopMode
  1493. * @retval None
  1494. */
  1495. __STATIC_INLINE void LL_DBGMCU_EnableDBGStopMode(void)
  1496. {
  1497. SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
  1498. }
  1499. /**
  1500. * @brief Disable the Debug Module during STOP mode
  1501. * @rmtoll DBGMCU_CR DBG_STOP LL_DBGMCU_DisableDBGStopMode
  1502. * @retval None
  1503. */
  1504. __STATIC_INLINE void LL_DBGMCU_DisableDBGStopMode(void)
  1505. {
  1506. CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
  1507. }
  1508. /**
  1509. * @brief Enable the Debug Module during STANDBY mode
  1510. * @rmtoll DBGMCU_CR DBG_STANDBY LL_DBGMCU_EnableDBGStandbyMode
  1511. * @retval None
  1512. */
  1513. __STATIC_INLINE void LL_DBGMCU_EnableDBGStandbyMode(void)
  1514. {
  1515. SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
  1516. }
  1517. /**
  1518. * @brief Disable the Debug Module during STANDBY mode
  1519. * @rmtoll DBGMCU_CR DBG_STANDBY LL_DBGMCU_DisableDBGStandbyMode
  1520. * @retval None
  1521. */
  1522. __STATIC_INLINE void LL_DBGMCU_DisableDBGStandbyMode(void)
  1523. {
  1524. CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
  1525. }
  1526. /**
  1527. * @brief Freeze APB1 peripherals (group1 peripherals)
  1528. * @rmtoll DBGMCU_APB1FZ DBG_TIM2_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1529. * DBGMCU_APB1FZ DBG_TIM3_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1530. * DBGMCU_APB1FZ DBG_TIM6_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1531. * DBGMCU_APB1FZ DBG_TIM7_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1532. * DBGMCU_APB1FZ DBG_TIM14_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1533. * DBGMCU_APB1FZ DBG_RTC_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1534. * DBGMCU_APB1FZ DBG_WWDG_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1535. * DBGMCU_APB1FZ DBG_IWDG_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1536. * DBGMCU_APB1FZ DBG_I2C1_SMBUS_TIMEOUT LL_DBGMCU_APB1_GRP1_FreezePeriph\n
  1537. * DBGMCU_APB1FZ DBG_CAN_STOP LL_DBGMCU_APB1_GRP1_FreezePeriph
  1538. * @param Periphs This parameter can be a combination of the following values:
  1539. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP (*)
  1540. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
  1541. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP (*)
  1542. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP (*)
  1543. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM14_STOP
  1544. * @arg @ref LL_DBGMCU_APB1_GRP1_RTC_STOP
  1545. * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
  1546. * @arg @ref LL_DBGMCU_APB1_GRP1_IWDG_STOP
  1547. * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
  1548. * @arg @ref LL_DBGMCU_APB1_GRP1_CAN_STOP (*)
  1549. *
  1550. * (*) value not defined in all devices
  1551. * @retval None
  1552. */
  1553. __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_FreezePeriph(uint32_t Periphs)
  1554. {
  1555. SET_BIT(DBGMCU->APB1FZ, Periphs);
  1556. }
  1557. /**
  1558. * @brief Unfreeze APB1 peripherals (group1 peripherals)
  1559. * @rmtoll DBGMCU_APB1FZ DBG_TIM2_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1560. * DBGMCU_APB1FZ DBG_TIM3_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1561. * DBGMCU_APB1FZ DBG_TIM6_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1562. * DBGMCU_APB1FZ DBG_TIM7_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1563. * DBGMCU_APB1FZ DBG_TIM14_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1564. * DBGMCU_APB1FZ DBG_RTC_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1565. * DBGMCU_APB1FZ DBG_WWDG_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1566. * DBGMCU_APB1FZ DBG_IWDG_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1567. * DBGMCU_APB1FZ DBG_I2C1_SMBUS_TIMEOUT LL_DBGMCU_APB1_GRP1_UnFreezePeriph\n
  1568. * DBGMCU_APB1FZ DBG_CAN_STOP LL_DBGMCU_APB1_GRP1_UnFreezePeriph
  1569. * @param Periphs This parameter can be a combination of the following values:
  1570. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM2_STOP (*)
  1571. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM3_STOP
  1572. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM6_STOP (*)
  1573. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM7_STOP (*)
  1574. * @arg @ref LL_DBGMCU_APB1_GRP1_TIM14_STOP
  1575. * @arg @ref LL_DBGMCU_APB1_GRP1_RTC_STOP
  1576. * @arg @ref LL_DBGMCU_APB1_GRP1_WWDG_STOP
  1577. * @arg @ref LL_DBGMCU_APB1_GRP1_IWDG_STOP
  1578. * @arg @ref LL_DBGMCU_APB1_GRP1_I2C1_STOP
  1579. * @arg @ref LL_DBGMCU_APB1_GRP1_CAN_STOP (*)
  1580. *
  1581. * (*) value not defined in all devices
  1582. * @retval None
  1583. */
  1584. __STATIC_INLINE void LL_DBGMCU_APB1_GRP1_UnFreezePeriph(uint32_t Periphs)
  1585. {
  1586. CLEAR_BIT(DBGMCU->APB1FZ, Periphs);
  1587. }
  1588. /**
  1589. * @brief Freeze APB1 peripherals (group2 peripherals)
  1590. * @rmtoll DBGMCU_APB2FZ DBG_TIM1_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
  1591. * DBGMCU_APB2FZ DBG_TIM15_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
  1592. * DBGMCU_APB2FZ DBG_TIM16_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph\n
  1593. * DBGMCU_APB2FZ DBG_TIM17_STOP LL_DBGMCU_APB1_GRP2_FreezePeriph
  1594. * @param Periphs This parameter can be a combination of the following values:
  1595. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM1_STOP
  1596. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM15_STOP (*)
  1597. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM16_STOP
  1598. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM17_STOP
  1599. *
  1600. * (*) value not defined in all devices
  1601. * @retval None
  1602. */
  1603. __STATIC_INLINE void LL_DBGMCU_APB1_GRP2_FreezePeriph(uint32_t Periphs)
  1604. {
  1605. SET_BIT(DBGMCU->APB2FZ, Periphs);
  1606. }
  1607. /**
  1608. * @brief Unfreeze APB1 peripherals (group2 peripherals)
  1609. * @rmtoll DBGMCU_APB2FZ DBG_TIM1_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
  1610. * DBGMCU_APB2FZ DBG_TIM15_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
  1611. * DBGMCU_APB2FZ DBG_TIM16_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph\n
  1612. * DBGMCU_APB2FZ DBG_TIM17_STOP LL_DBGMCU_APB1_GRP2_UnFreezePeriph
  1613. * @param Periphs This parameter can be a combination of the following values:
  1614. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM1_STOP
  1615. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM15_STOP (*)
  1616. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM16_STOP
  1617. * @arg @ref LL_DBGMCU_APB1_GRP2_TIM17_STOP
  1618. *
  1619. * (*) value not defined in all devices
  1620. * @retval None
  1621. */
  1622. __STATIC_INLINE void LL_DBGMCU_APB1_GRP2_UnFreezePeriph(uint32_t Periphs)
  1623. {
  1624. CLEAR_BIT(DBGMCU->APB2FZ, Periphs);
  1625. }
  1626. /**
  1627. * @}
  1628. */
  1629. /** @defgroup SYSTEM_LL_EF_FLASH FLASH
  1630. * @{
  1631. */
  1632. /**
  1633. * @brief Set FLASH Latency
  1634. * @rmtoll FLASH_ACR LATENCY LL_FLASH_SetLatency
  1635. * @param Latency This parameter can be one of the following values:
  1636. * @arg @ref LL_FLASH_LATENCY_0
  1637. * @arg @ref LL_FLASH_LATENCY_1
  1638. * @retval None
  1639. */
  1640. __STATIC_INLINE void LL_FLASH_SetLatency(uint32_t Latency)
  1641. {
  1642. MODIFY_REG(FLASH->ACR, FLASH_ACR_LATENCY, Latency);
  1643. }
  1644. /**
  1645. * @brief Get FLASH Latency
  1646. * @rmtoll FLASH_ACR LATENCY LL_FLASH_GetLatency
  1647. * @retval Returned value can be one of the following values:
  1648. * @arg @ref LL_FLASH_LATENCY_0
  1649. * @arg @ref LL_FLASH_LATENCY_1
  1650. */
  1651. __STATIC_INLINE uint32_t LL_FLASH_GetLatency(void)
  1652. {
  1653. return (uint32_t)(READ_BIT(FLASH->ACR, FLASH_ACR_LATENCY));
  1654. }
  1655. /**
  1656. * @brief Enable Prefetch
  1657. * @rmtoll FLASH_ACR PRFTBE LL_FLASH_EnablePrefetch
  1658. * @retval None
  1659. */
  1660. __STATIC_INLINE void LL_FLASH_EnablePrefetch(void)
  1661. {
  1662. SET_BIT(FLASH->ACR, FLASH_ACR_PRFTBE);
  1663. }
  1664. /**
  1665. * @brief Disable Prefetch
  1666. * @rmtoll FLASH_ACR PRFTBE LL_FLASH_DisablePrefetch
  1667. * @retval None
  1668. */
  1669. __STATIC_INLINE void LL_FLASH_DisablePrefetch(void)
  1670. {
  1671. CLEAR_BIT(FLASH->ACR, FLASH_ACR_PRFTBE);
  1672. }
  1673. /**
  1674. * @brief Check if Prefetch buffer is enabled
  1675. * @rmtoll FLASH_ACR PRFTBS LL_FLASH_IsPrefetchEnabled
  1676. * @retval State of bit (1 or 0).
  1677. */
  1678. __STATIC_INLINE uint32_t LL_FLASH_IsPrefetchEnabled(void)
  1679. {
  1680. return (READ_BIT(FLASH->ACR, FLASH_ACR_PRFTBS) == (FLASH_ACR_PRFTBS));
  1681. }
  1682. /**
  1683. * @}
  1684. */
  1685. /**
  1686. * @}
  1687. */
  1688. /**
  1689. * @}
  1690. */
  1691. #endif /* defined (FLASH) || defined (SYSCFG) || defined (DBGMCU) */
  1692. /**
  1693. * @}
  1694. */
  1695. #ifdef __cplusplus
  1696. }
  1697. #endif
  1698. #endif /* __STM32F0xx_LL_SYSTEM_H */