RTEMS 6.1-rc2
Loading...
Searching...
No Matches
stm32h7xx_ll_exti.h
Go to the documentation of this file.
1
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef __STM32H7xx_LL_EXTI_H
21#define __STM32H7xx_LL_EXTI_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32h7xx.h"
29
34#if defined (EXTI)
35
41/* Private types -------------------------------------------------------------*/
42/* Private variables ---------------------------------------------------------*/
43/* Private constants ---------------------------------------------------------*/
44/* Private Macros ------------------------------------------------------------*/
45#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
53#endif /*USE_FULL_LL_DRIVER*/
54/* Exported types ------------------------------------------------------------*/
55#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
60typedef struct
61{
62
63 uint32_t Line_0_31;
66 uint32_t Line_32_63;
69 uint32_t Line_64_95;
72 FunctionalState LineCommand;
75 uint8_t Mode;
78 uint8_t Trigger;
80} LL_EXTI_InitTypeDef;
81
85#endif /*USE_FULL_LL_DRIVER*/
86
87/* Exported constants --------------------------------------------------------*/
97#define LL_EXTI_LINE_0 EXTI_IMR1_IM0
98#define LL_EXTI_LINE_1 EXTI_IMR1_IM1
99#define LL_EXTI_LINE_2 EXTI_IMR1_IM2
100#define LL_EXTI_LINE_3 EXTI_IMR1_IM3
101#define LL_EXTI_LINE_4 EXTI_IMR1_IM4
102#define LL_EXTI_LINE_5 EXTI_IMR1_IM5
103#define LL_EXTI_LINE_6 EXTI_IMR1_IM6
104#define LL_EXTI_LINE_7 EXTI_IMR1_IM7
105#define LL_EXTI_LINE_8 EXTI_IMR1_IM8
106#define LL_EXTI_LINE_9 EXTI_IMR1_IM9
107#define LL_EXTI_LINE_10 EXTI_IMR1_IM10
108#define LL_EXTI_LINE_11 EXTI_IMR1_IM11
109#define LL_EXTI_LINE_12 EXTI_IMR1_IM12
110#define LL_EXTI_LINE_13 EXTI_IMR1_IM13
111#define LL_EXTI_LINE_14 EXTI_IMR1_IM14
112#define LL_EXTI_LINE_15 EXTI_IMR1_IM15
113#define LL_EXTI_LINE_16 EXTI_IMR1_IM16
114#define LL_EXTI_LINE_17 EXTI_IMR1_IM17
115#define LL_EXTI_LINE_18 EXTI_IMR1_IM18
116#define LL_EXTI_LINE_19 EXTI_IMR1_IM19
117#define LL_EXTI_LINE_20 EXTI_IMR1_IM20
118#define LL_EXTI_LINE_21 EXTI_IMR1_IM21
119#define LL_EXTI_LINE_22 EXTI_IMR1_IM22
120#define LL_EXTI_LINE_23 EXTI_IMR1_IM23
121#define LL_EXTI_LINE_24 EXTI_IMR1_IM24
122#define LL_EXTI_LINE_25 EXTI_IMR1_IM25
123#define LL_EXTI_LINE_26 EXTI_IMR1_IM26
124#define LL_EXTI_LINE_27 EXTI_IMR1_IM27
125#define LL_EXTI_LINE_28 EXTI_IMR1_IM28
126#define LL_EXTI_LINE_29 EXTI_IMR1_IM29
127#define LL_EXTI_LINE_30 EXTI_IMR1_IM30
128#define LL_EXTI_LINE_31 EXTI_IMR1_IM31
129#define LL_EXTI_LINE_ALL_0_31 EXTI_IMR1_IM
131#define LL_EXTI_LINE_32 EXTI_IMR2_IM32
132#define LL_EXTI_LINE_33 EXTI_IMR2_IM33
133#define LL_EXTI_LINE_34 EXTI_IMR2_IM34
134#define LL_EXTI_LINE_35 EXTI_IMR2_IM35
135#define LL_EXTI_LINE_36 EXTI_IMR2_IM36
136#define LL_EXTI_LINE_37 EXTI_IMR2_IM37
137#define LL_EXTI_LINE_38 EXTI_IMR2_IM38
138#define LL_EXTI_LINE_39 EXTI_IMR2_IM39
139#define LL_EXTI_LINE_40 EXTI_IMR2_IM40
140#define LL_EXTI_LINE_41 EXTI_IMR2_IM41
141#define LL_EXTI_LINE_42 EXTI_IMR2_IM42
142#define LL_EXTI_LINE_43 EXTI_IMR2_IM43
143#if defined(USB2_OTG_FS)
144#define LL_EXTI_LINE_44 EXTI_IMR2_IM44
145#endif /* USB2_OTG_FS */
146#if defined(DSI)
147#define LL_EXTI_LINE_46 EXTI_IMR2_IM46
148#endif /* DSI */
149#define LL_EXTI_LINE_47 EXTI_IMR2_IM47
150#define LL_EXTI_LINE_48 EXTI_IMR2_IM48
151#define LL_EXTI_LINE_49 EXTI_IMR2_IM49
152#define LL_EXTI_LINE_50 EXTI_IMR2_IM50
153#define LL_EXTI_LINE_51 EXTI_IMR2_IM51
154#define LL_EXTI_LINE_52 EXTI_IMR2_IM52
155#define LL_EXTI_LINE_53 EXTI_IMR2_IM53
156#define LL_EXTI_LINE_54 EXTI_IMR2_IM54
157#define LL_EXTI_LINE_55 EXTI_IMR2_IM55
158#define LL_EXTI_LINE_56 EXTI_IMR2_IM56
159#if defined(EXTI_IMR2_IM57)
160#define LL_EXTI_LINE_57 EXTI_IMR2_IM57
161#endif /*EXTI_IMR2_IM57*/
162#define LL_EXTI_LINE_58 EXTI_IMR2_IM58
163#if defined(EXTI_IMR2_IM59)
164#define LL_EXTI_LINE_59 EXTI_IMR2_IM59
165#endif /*EXTI_IMR2_IM59*/
166#define LL_EXTI_LINE_60 EXTI_IMR2_IM60
167#define LL_EXTI_LINE_61 EXTI_IMR2_IM61
168#define LL_EXTI_LINE_62 EXTI_IMR2_IM62
169#define LL_EXTI_LINE_63 EXTI_IMR2_IM63
170#define LL_EXTI_LINE_ALL_32_63 EXTI_IMR2_IM
172#define LL_EXTI_LINE_64 EXTI_IMR3_IM64
173#define LL_EXTI_LINE_65 EXTI_IMR3_IM65
174#define LL_EXTI_LINE_66 EXTI_IMR3_IM66
175#define LL_EXTI_LINE_67 EXTI_IMR3_IM67
176#define LL_EXTI_LINE_68 EXTI_IMR3_IM68
177#define LL_EXTI_LINE_69 EXTI_IMR3_IM69
178#define LL_EXTI_LINE_70 EXTI_IMR3_IM70
179#define LL_EXTI_LINE_71 EXTI_IMR3_IM71
180#define LL_EXTI_LINE_72 EXTI_IMR3_IM72
181#define LL_EXTI_LINE_73 EXTI_IMR3_IM73
182#define LL_EXTI_LINE_74 EXTI_IMR3_IM74
183#if defined(ADC3)
184#define LL_EXTI_LINE_75 EXTI_IMR3_IM75
185#endif /* ADC3 */
186#if defined(SAI4)
187#define LL_EXTI_LINE_76 EXTI_IMR3_IM76
188#endif /* SAI4 */
189#if defined(DUAL_CORE)
190#define LL_EXTI_LINE_77 EXTI_IMR3_IM77
191#define LL_EXTI_LINE_78 EXTI_IMR3_IM78
192#define LL_EXTI_LINE_79 EXTI_IMR3_IM79
193#define LL_EXTI_LINE_80 EXTI_IMR3_IM80
194#define LL_EXTI_LINE_82 EXTI_IMR3_IM82
195#define LL_EXTI_LINE_84 EXTI_IMR3_IM84
196#endif /* DUAL_CORE */
197#define LL_EXTI_LINE_85 EXTI_IMR3_IM85
198#if defined(ETH)
199#define LL_EXTI_LINE_86 EXTI_IMR3_IM86
200#endif /* ETH */
201#define LL_EXTI_LINE_87 EXTI_IMR3_IM87
202#if defined(DTS)
203#define LL_EXTI_LINE_88 EXTI_IMR3_IM88
204#endif /* DTS */
205#if defined(EXTI_IMR3_IM89)
206#define LL_EXTI_LINE_89 EXTI_IMR3_IM89
207#endif /* EXTI_IMR3_IM89 */
208#if defined(EXTI_IMR3_IM90)
209#define LL_EXTI_LINE_90 EXTI_IMR3_IM90
210#endif /* EXTI_IMR3_IM90 */
211#if defined(I2C5)
212#define LL_EXTI_LINE_91 EXTI_IMR3_IM91
213#endif /* I2C5 */
214#define LL_EXTI_LINE_ALL_64_95 EXTI_IMR3_IM
217#define LL_EXTI_LINE_ALL (0xFFFFFFFFU)
219#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
220#define LL_EXTI_LINE_NONE (0x00000000U)
221#endif /*USE_FULL_LL_DRIVER*/
222
226#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
227
232#define LL_EXTI_MODE_IT ((uint8_t)0x01U)
233#define LL_EXTI_MODE_EVENT ((uint8_t)0x02U)
234#define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x03U)
236#if defined(DUAL_CORE)
237#define LL_EXTI_MODE_C1_IT LL_EXTI_MODE_IT
238#define LL_EXTI_MODE_C1_EVENT LL_EXTI_MODE_EVENT
239#define LL_EXTI_MODE_C1_IT_EVENT LL_EXTI_MODE_IT_EVENT
241#define LL_EXTI_MODE_C2_IT ((uint8_t)0x10U)
242#define LL_EXTI_MODE_C2_EVENT ((uint8_t)0x20U)
243#define LL_EXTI_MODE_C2_IT_EVENT ((uint8_t)0x30U)
244#endif /* DUAL_CORE */
245
254#define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U)
255#define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U)
256#define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U)
257#define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U)
267#define LL_EXTI_D3_PEND_CLR_DMACH6 ((uint8_t)0x00U)
268#define LL_EXTI_D3_PEND_CLR_DMACH7 ((uint8_t)0x01U)
269#if defined (LPTIM4)
270#define LL_EXTI_D3_PEND_CLR_LPTIM4 ((uint8_t)0x02U)
271#else
272#define LL_EXTI_D3_PEND_CLR_LPTIM2 ((uint8_t)0x02U)
273#endif /*LPTIM4*/
274#if defined (LPTIM5)
275#define LL_EXTI_D3_PEND_CLR_LPTIM5 ((uint8_t)0x03U)
276#else
277#define LL_EXTI_D3_PEND_CLR_LPTIM3 ((uint8_t)0x02U)
278#endif /*LPTIM5*/
284#endif /*USE_FULL_LL_DRIVER*/
285
286
291/* Exported macro ------------------------------------------------------------*/
308#define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
309
315#define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
316
328/* Exported functions --------------------------------------------------------*/
377__STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
378{
379 SET_BIT(EXTI->IMR1, ExtiLine);
380}
381
422__STATIC_INLINE void LL_EXTI_EnableIT_32_63(uint32_t ExtiLine)
423{
424 SET_BIT(EXTI->IMR2, ExtiLine);
425}
426
427
464__STATIC_INLINE void LL_EXTI_EnableIT_64_95(uint32_t ExtiLine)
465{
466 SET_BIT(EXTI->IMR3, ExtiLine);
467}
468
469
509__STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
510{
511 CLEAR_BIT(EXTI->IMR1, ExtiLine);
512}
513
514
555__STATIC_INLINE void LL_EXTI_DisableIT_32_63(uint32_t ExtiLine)
556{
557 CLEAR_BIT(EXTI->IMR2, ExtiLine);
558}
559
596__STATIC_INLINE void LL_EXTI_DisableIT_64_95(uint32_t ExtiLine)
597{
598 CLEAR_BIT(EXTI->IMR3, ExtiLine);
599}
600
601
641__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
642{
643 return ((READ_BIT(EXTI->IMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
644}
645
646
687__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine)
688{
689 return ((READ_BIT(EXTI->IMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
690}
691
692
729__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine)
730{
731 return ((READ_BIT(EXTI->IMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
732}
733
734#if defined(DUAL_CORE)
774__STATIC_INLINE void LL_C2_EXTI_EnableIT_0_31(uint32_t ExtiLine)
775{
776 SET_BIT(EXTI->C2IMR1, ExtiLine);
777}
778
779
818__STATIC_INLINE void LL_C2_EXTI_EnableIT_32_63(uint32_t ExtiLine)
819{
820 SET_BIT(EXTI->C2IMR2, ExtiLine);
821}
822
823
853__STATIC_INLINE void LL_C2_EXTI_EnableIT_64_95(uint32_t ExtiLine)
854{
855 SET_BIT(EXTI->C2IMR3, ExtiLine);
856}
857
858
898__STATIC_INLINE void LL_C2_EXTI_DisableIT_0_31(uint32_t ExtiLine)
899{
900 CLEAR_BIT(EXTI->C2IMR1, ExtiLine);
901}
902
903
904
943__STATIC_INLINE void LL_C2_EXTI_DisableIT_32_63(uint32_t ExtiLine)
944{
945 CLEAR_BIT(EXTI->C2IMR2, ExtiLine);
946}
947
948
978__STATIC_INLINE void LL_C2_EXTI_DisableIT_64_95(uint32_t ExtiLine)
979{
980 CLEAR_BIT(EXTI->C2IMR3, ExtiLine);
981}
982
983
1023__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
1024{
1025 return ((READ_BIT(EXTI->C2IMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1026}
1027
1028
1067__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine)
1068{
1069 return ((READ_BIT(EXTI->C2IMR2, ExtiLine) == (ExtiLine))? 1U : 0U);
1070}
1071
1072
1102__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine)
1103{
1104 return ((READ_BIT(EXTI->C2IMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1105}
1106
1107#endif /* DUAL_CORE */
1108
1109
1158__STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
1159{
1160 SET_BIT(EXTI->EMR1, ExtiLine);
1161}
1162
1203__STATIC_INLINE void LL_EXTI_EnableEvent_32_63(uint32_t ExtiLine)
1204{
1205 SET_BIT(EXTI->EMR2, ExtiLine);
1206}
1207
1244__STATIC_INLINE void LL_EXTI_EnableEvent_64_95(uint32_t ExtiLine)
1245{
1246 SET_BIT(EXTI->EMR3, ExtiLine);
1247}
1248
1288__STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
1289{
1290 CLEAR_BIT(EXTI->EMR1, ExtiLine);
1291}
1292
1333__STATIC_INLINE void LL_EXTI_DisableEvent_32_63(uint32_t ExtiLine)
1334{
1335 CLEAR_BIT(EXTI->EMR2, ExtiLine);
1336}
1337
1374__STATIC_INLINE void LL_EXTI_DisableEvent_64_95(uint32_t ExtiLine)
1375{
1376 CLEAR_BIT(EXTI->EMR3, ExtiLine);
1377}
1378
1419__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
1420{
1421 return ((READ_BIT(EXTI->EMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1422}
1423
1464__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine)
1465{
1466 return ((READ_BIT(EXTI->EMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1467}
1468
1505__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine)
1506{
1507 return ((READ_BIT(EXTI->EMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1508}
1509
1510#if defined(DUAL_CORE)
1511
1551__STATIC_INLINE void LL_C2_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
1552{
1553 SET_BIT(EXTI->C2EMR1, ExtiLine);
1554}
1555
1556
1595__STATIC_INLINE void LL_C2_EXTI_EnableEvent_32_63(uint32_t ExtiLine)
1596{
1597 SET_BIT(EXTI->C2EMR2, ExtiLine);
1598}
1599
1629__STATIC_INLINE void LL_C2_EXTI_EnableEvent_64_95(uint32_t ExtiLine)
1630{
1631 SET_BIT(EXTI->C2EMR3, ExtiLine);
1632}
1633
1634
1674__STATIC_INLINE void LL_C2_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
1675{
1676 CLEAR_BIT(EXTI->C2EMR1, ExtiLine);
1677}
1678
1679
1718__STATIC_INLINE void LL_C2_EXTI_DisableEvent_32_63(uint32_t ExtiLine)
1719{
1720 CLEAR_BIT(EXTI->C2EMR2, ExtiLine);
1721}
1722
1723
1753__STATIC_INLINE void LL_C2_EXTI_DisableEvent_64_95(uint32_t ExtiLine)
1754{
1755 CLEAR_BIT(EXTI->C2EMR3, ExtiLine);
1756}
1757
1758
1799__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
1800{
1801 return ((READ_BIT(EXTI->C2EMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1802}
1803
1804
1843__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine)
1844{
1845 return ((READ_BIT(EXTI->C2EMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1846}
1847
1848
1878__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine)
1879{
1880 return ((READ_BIT(EXTI->C2EMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1881}
1882
1883
1884#endif /* DUAL_CORE */
1885
1930__STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
1931{
1932 SET_BIT(EXTI->RTSR1, ExtiLine);
1933
1934}
1935
1950__STATIC_INLINE void LL_EXTI_EnableRisingTrig_32_63(uint32_t ExtiLine)
1951{
1952 SET_BIT(EXTI->RTSR2, ExtiLine);
1953}
1954
1974__STATIC_INLINE void LL_EXTI_EnableRisingTrig_64_95(uint32_t ExtiLine)
1975{
1976 SET_BIT(EXTI->RTSR3, ExtiLine);
1977}
1978
2014__STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
2015{
2016 CLEAR_BIT(EXTI->RTSR1, ExtiLine);
2017
2018}
2019
2035__STATIC_INLINE void LL_EXTI_DisableRisingTrig_32_63(uint32_t ExtiLine)
2036{
2037 CLEAR_BIT(EXTI->RTSR2, ExtiLine);
2038}
2039
2060__STATIC_INLINE void LL_EXTI_DisableRisingTrig_64_95(uint32_t ExtiLine)
2061{
2062 CLEAR_BIT(EXTI->RTSR3, ExtiLine);
2063}
2064
2093__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
2094{
2095 return ((READ_BIT(EXTI->RTSR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2096}
2097
2098
2107__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_32_63(uint32_t ExtiLine)
2108{
2109 return ((READ_BIT(EXTI->RTSR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2110}
2111
2125__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_64_95(uint32_t ExtiLine)
2126{
2127 return ((READ_BIT(EXTI->RTSR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2128}
2129
2174__STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
2175{
2176 SET_BIT(EXTI->FTSR1, ExtiLine);
2177}
2178
2194__STATIC_INLINE void LL_EXTI_EnableFallingTrig_32_63(uint32_t ExtiLine)
2195{
2196 SET_BIT(EXTI->FTSR2, ExtiLine);
2197}
2198
2219__STATIC_INLINE void LL_EXTI_EnableFallingTrig_64_95(uint32_t ExtiLine)
2220{
2221 SET_BIT(EXTI->FTSR3, ExtiLine);
2222}
2223
2224
2259__STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
2260{
2261 CLEAR_BIT(EXTI->FTSR1, ExtiLine);
2262}
2263
2278__STATIC_INLINE void LL_EXTI_DisableFallingTrig_32_63(uint32_t ExtiLine)
2279{
2280 CLEAR_BIT(EXTI->FTSR2, ExtiLine);
2281}
2282
2302__STATIC_INLINE void LL_EXTI_DisableFallingTrig_64_95(uint32_t ExtiLine)
2303{
2304 CLEAR_BIT(EXTI->FTSR3, ExtiLine);
2305}
2306
2307
2336__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
2337{
2338 return ((READ_BIT(EXTI->FTSR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2339}
2340
2349__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_32_63(uint32_t ExtiLine)
2350{
2351 return ((READ_BIT(EXTI->FTSR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2352}
2353
2367__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_64_95(uint32_t ExtiLine)
2368{
2369 return ((READ_BIT(EXTI->FTSR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2370}
2371
2372
2415__STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
2416{
2417 SET_BIT(EXTI->SWIER1, ExtiLine);
2418}
2419
2433__STATIC_INLINE void LL_EXTI_GenerateSWI_32_63(uint32_t ExtiLine)
2434{
2435 SET_BIT(EXTI->SWIER2, ExtiLine);
2436}
2437
2456__STATIC_INLINE void LL_EXTI_GenerateSWI_64_95(uint32_t ExtiLine)
2457{
2458 SET_BIT(EXTI->SWIER3, ExtiLine);
2459}
2460
2461
2502__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
2503{
2504 return ((READ_BIT(EXTI->PR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2505}
2506
2518__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine)
2519{
2520 return ((READ_BIT(EXTI->PR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2521}
2522
2538__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine)
2539{
2540 return ((READ_BIT(EXTI->PR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2541}
2542
2543
2574__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
2575{
2576 return (uint32_t)(READ_BIT(EXTI->PR1, ExtiLine));
2577}
2578
2579
2590__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_32_63(uint32_t ExtiLine)
2591{
2592 return (uint32_t)(READ_BIT(EXTI->PR2, ExtiLine));
2593}
2594
2595
2611__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_64_95(uint32_t ExtiLine)
2612{
2613 return (uint32_t)(READ_BIT(EXTI->PR3, ExtiLine));
2614}
2615
2646__STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
2647{
2648 WRITE_REG(EXTI->PR1, ExtiLine);
2649}
2650
2661__STATIC_INLINE void LL_EXTI_ClearFlag_32_63(uint32_t ExtiLine)
2662{
2663 WRITE_REG(EXTI->PR2, ExtiLine);
2664}
2665
2681__STATIC_INLINE void LL_EXTI_ClearFlag_64_95(uint32_t ExtiLine)
2682{
2683 WRITE_REG(EXTI->PR3, ExtiLine);
2684}
2685
2686#if defined(DUAL_CORE)
2687
2719__STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
2720{
2721 return ((READ_BIT(EXTI->C2PR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2722}
2723
2735__STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine)
2736{
2737 return ((READ_BIT(EXTI->C2PR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2738}
2739
2753__STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine)
2754{
2755 return ((READ_BIT(EXTI->C2PR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2756}
2757
2788__STATIC_INLINE uint32_t LL_C2_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
2789{
2790 return (uint32_t)(READ_BIT(EXTI->C2PR1, ExtiLine));
2791}
2792
2803__STATIC_INLINE uint32_t LL_C2_EXTI_ReadFlag_32_63(uint32_t ExtiLine)
2804{
2805 return (uint32_t)(READ_BIT(EXTI->C2PR2, ExtiLine));
2806}
2807
2808
2821__STATIC_INLINE uint32_t LL_C2_EXTI_ReadFlag_64_95(uint32_t ExtiLine)
2822{
2823 return (uint32_t)(READ_BIT(EXTI->C2PR3, ExtiLine));
2824}
2855__STATIC_INLINE void LL_C2_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
2856{
2857 WRITE_REG(EXTI->C2PR1, ExtiLine);
2858}
2859
2870__STATIC_INLINE void LL_C2_EXTI_ClearFlag_32_63(uint32_t ExtiLine)
2871{
2872 WRITE_REG(EXTI->C2PR2, ExtiLine);
2873}
2874
2887__STATIC_INLINE void LL_C2_EXTI_ClearFlag_64_95(uint32_t ExtiLine)
2888{
2889 WRITE_REG(EXTI->C2PR3, ExtiLine);
2890}
2891
2892#endif /* DUAL_CORE */
2893
2920__STATIC_INLINE void LL_D3_EXTI_EnablePendMask_0_31(uint32_t ExtiLine)
2921{
2922 SET_BIT(EXTI->D3PMR1, ExtiLine);
2923}
2924
2940__STATIC_INLINE void LL_D3_EXTI_EnablePendMask_32_63(uint32_t ExtiLine)
2941{
2942 SET_BIT(EXTI->D3PMR2, ExtiLine);
2943}
2944
2971__STATIC_INLINE void LL_D3_EXTI_DisablePendMask_0_31(uint32_t ExtiLine)
2972{
2973 CLEAR_BIT(EXTI->D3PMR1, ExtiLine);
2974}
2975
2991__STATIC_INLINE void LL_D3_EXTI_DisablePendMask_32_63(uint32_t ExtiLine)
2992{
2993 CLEAR_BIT(EXTI->D3PMR2, ExtiLine);
2994}
2995
3022__STATIC_INLINE uint32_t LL_D3_EXTI_IsEnabledPendMask_0_31(uint32_t ExtiLine)
3023{
3024 return ((READ_BIT(EXTI->D3PMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
3025}
3026
3042__STATIC_INLINE uint32_t LL_D3_EXTI_IsEnabledPendMask_32_63(uint32_t ExtiLine)
3043{
3044 return ((READ_BIT(EXTI->D3PMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
3045}
3046
3078__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_0_15(uint32_t ExtiLine, uint32_t ClrSrc)
3079{
3080 MODIFY_REG(EXTI->D3PCR1L, ((ExtiLine * ExtiLine) * 3UL), ((ExtiLine * ExtiLine) * ClrSrc));
3081}
3082
3102__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_16_31(uint32_t ExtiLine, uint32_t ClrSrc)
3103{
3104 MODIFY_REG(EXTI->D3PCR1H, (((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)) * 3UL), (((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)) * ClrSrc));
3105}
3106
3107
3126__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_32_47(uint32_t ExtiLine, uint32_t ClrSrc)
3127{
3128 MODIFY_REG(EXTI->D3PCR2L, ((ExtiLine * ExtiLine) * 3UL), ((ExtiLine * ExtiLine) * ClrSrc));
3129}
3130
3152__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_48_63(uint32_t ExtiLine, uint32_t ClrSrc)
3153{
3154 MODIFY_REG(EXTI->D3PCR2H, (((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)) * 3UL), (((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)) * ClrSrc));
3155}
3156
3187__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_0_15(uint32_t ExtiLine)
3188{
3189 return (uint32_t)(READ_BIT(EXTI->D3PCR1L, ((ExtiLine * ExtiLine) * 3UL)) / (ExtiLine * ExtiLine));
3190}
3191
3210__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_16_31(uint32_t ExtiLine)
3211{
3212 return (uint32_t)(READ_BIT(EXTI->D3PCR1H, (((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)) * 3UL)) / ((ExtiLine >> EXTI_IMR1_IM16_Pos) * (ExtiLine >> EXTI_IMR1_IM16_Pos)));
3213}
3214
3232__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_32_47(uint32_t ExtiLine)
3233{
3234 return (uint32_t)(READ_BIT(EXTI->D3PCR2L, ((ExtiLine * ExtiLine) * 3UL)) / (ExtiLine * ExtiLine));
3235}
3236
3257__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_48_63(uint32_t ExtiLine)
3258{
3259 return (uint32_t)(READ_BIT(EXTI->D3PCR2H, (((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)) * 3UL)) / ((ExtiLine >> EXTI_IMR2_IM48_Pos) * (ExtiLine >> EXTI_IMR2_IM48_Pos)));
3260}
3261
3262
3263
3268#if defined(USE_FULL_LL_DRIVER) || defined(__rtems__)
3274ErrorStatus LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct);
3275ErrorStatus LL_EXTI_DeInit(void);
3276void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct);
3277
3278
3282#endif /* USE_FULL_LL_DRIVER */
3283
3292#endif /* EXTI */
3293
3298#ifdef __cplusplus
3299}
3300#endif
3301
3302#endif /* __STM32H7xx_LL_EXTI_H */
3303
CMSIS STM32H7xx Device Peripheral Access Layer Header File.