stm32f0xx_ll_system.h 74 KB

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