20#ifndef __STM32H7xx_LL_EXTI_H
21#define __STM32H7xx_LL_EXTI_H
44#if defined(USE_FULL_LL_DRIVER)
53#if defined(USE_FULL_LL_DRIVER)
92#define LL_EXTI_LINE_0 EXTI_IMR1_IM0
93#define LL_EXTI_LINE_1 EXTI_IMR1_IM1
94#define LL_EXTI_LINE_2 EXTI_IMR1_IM2
95#define LL_EXTI_LINE_3 EXTI_IMR1_IM3
96#define LL_EXTI_LINE_4 EXTI_IMR1_IM4
97#define LL_EXTI_LINE_5 EXTI_IMR1_IM5
98#define LL_EXTI_LINE_6 EXTI_IMR1_IM6
99#define LL_EXTI_LINE_7 EXTI_IMR1_IM7
100#define LL_EXTI_LINE_8 EXTI_IMR1_IM8
101#define LL_EXTI_LINE_9 EXTI_IMR1_IM9
102#define LL_EXTI_LINE_10 EXTI_IMR1_IM10
103#define LL_EXTI_LINE_11 EXTI_IMR1_IM11
104#define LL_EXTI_LINE_12 EXTI_IMR1_IM12
105#define LL_EXTI_LINE_13 EXTI_IMR1_IM13
106#define LL_EXTI_LINE_14 EXTI_IMR1_IM14
107#define LL_EXTI_LINE_15 EXTI_IMR1_IM15
108#define LL_EXTI_LINE_16 EXTI_IMR1_IM16
109#define LL_EXTI_LINE_17 EXTI_IMR1_IM17
110#define LL_EXTI_LINE_18 EXTI_IMR1_IM18
111#define LL_EXTI_LINE_19 EXTI_IMR1_IM19
112#define LL_EXTI_LINE_20 EXTI_IMR1_IM20
113#define LL_EXTI_LINE_21 EXTI_IMR1_IM21
114#define LL_EXTI_LINE_22 EXTI_IMR1_IM22
115#define LL_EXTI_LINE_23 EXTI_IMR1_IM23
116#define LL_EXTI_LINE_24 EXTI_IMR1_IM24
117#define LL_EXTI_LINE_25 EXTI_IMR1_IM25
118#define LL_EXTI_LINE_26 EXTI_IMR1_IM26
119#define LL_EXTI_LINE_27 EXTI_IMR1_IM27
120#define LL_EXTI_LINE_28 EXTI_IMR1_IM28
121#define LL_EXTI_LINE_29 EXTI_IMR1_IM29
122#define LL_EXTI_LINE_30 EXTI_IMR1_IM30
123#define LL_EXTI_LINE_31 EXTI_IMR1_IM31
124#define LL_EXTI_LINE_ALL_0_31 EXTI_IMR1_IM
126#define LL_EXTI_LINE_32 EXTI_IMR2_IM32
127#define LL_EXTI_LINE_33 EXTI_IMR2_IM33
128#define LL_EXTI_LINE_34 EXTI_IMR2_IM34
129#define LL_EXTI_LINE_35 EXTI_IMR2_IM35
130#define LL_EXTI_LINE_36 EXTI_IMR2_IM36
131#define LL_EXTI_LINE_37 EXTI_IMR2_IM37
132#define LL_EXTI_LINE_38 EXTI_IMR2_IM38
133#define LL_EXTI_LINE_39 EXTI_IMR2_IM39
134#define LL_EXTI_LINE_40 EXTI_IMR2_IM40
135#define LL_EXTI_LINE_41 EXTI_IMR2_IM41
136#define LL_EXTI_LINE_42 EXTI_IMR2_IM42
137#define LL_EXTI_LINE_43 EXTI_IMR2_IM43
138#if defined(USB2_OTG_FS)
139#define LL_EXTI_LINE_44 EXTI_IMR2_IM44
142#define LL_EXTI_LINE_46 EXTI_IMR2_IM46
144#define LL_EXTI_LINE_47 EXTI_IMR2_IM47
145#define LL_EXTI_LINE_48 EXTI_IMR2_IM48
146#define LL_EXTI_LINE_49 EXTI_IMR2_IM49
147#define LL_EXTI_LINE_50 EXTI_IMR2_IM50
148#define LL_EXTI_LINE_51 EXTI_IMR2_IM51
149#define LL_EXTI_LINE_52 EXTI_IMR2_IM52
150#define LL_EXTI_LINE_53 EXTI_IMR2_IM53
151#define LL_EXTI_LINE_54 EXTI_IMR2_IM54
152#define LL_EXTI_LINE_55 EXTI_IMR2_IM55
153#define LL_EXTI_LINE_56 EXTI_IMR2_IM56
154#if defined(EXTI_IMR2_IM57)
155#define LL_EXTI_LINE_57 EXTI_IMR2_IM57
157#define LL_EXTI_LINE_58 EXTI_IMR2_IM58
158#if defined(EXTI_IMR2_IM59)
159#define LL_EXTI_LINE_59 EXTI_IMR2_IM59
161#define LL_EXTI_LINE_60 EXTI_IMR2_IM60
162#define LL_EXTI_LINE_61 EXTI_IMR2_IM61
163#define LL_EXTI_LINE_62 EXTI_IMR2_IM62
164#define LL_EXTI_LINE_63 EXTI_IMR2_IM63
165#define LL_EXTI_LINE_ALL_32_63 EXTI_IMR2_IM
167#define LL_EXTI_LINE_64 EXTI_IMR3_IM64
168#define LL_EXTI_LINE_65 EXTI_IMR3_IM65
169#define LL_EXTI_LINE_66 EXTI_IMR3_IM66
170#define LL_EXTI_LINE_67 EXTI_IMR3_IM67
171#define LL_EXTI_LINE_68 EXTI_IMR3_IM68
172#define LL_EXTI_LINE_69 EXTI_IMR3_IM69
173#define LL_EXTI_LINE_70 EXTI_IMR3_IM70
174#define LL_EXTI_LINE_71 EXTI_IMR3_IM71
175#define LL_EXTI_LINE_72 EXTI_IMR3_IM72
176#define LL_EXTI_LINE_73 EXTI_IMR3_IM73
177#define LL_EXTI_LINE_74 EXTI_IMR3_IM74
179#define LL_EXTI_LINE_75 EXTI_IMR3_IM75
182#define LL_EXTI_LINE_76 EXTI_IMR3_IM76
184#if defined(DUAL_CORE)
185#define LL_EXTI_LINE_77 EXTI_IMR3_IM77
186#define LL_EXTI_LINE_78 EXTI_IMR3_IM78
187#define LL_EXTI_LINE_79 EXTI_IMR3_IM79
188#define LL_EXTI_LINE_80 EXTI_IMR3_IM80
189#define LL_EXTI_LINE_82 EXTI_IMR3_IM82
190#define LL_EXTI_LINE_84 EXTI_IMR3_IM84
192#define LL_EXTI_LINE_85 EXTI_IMR3_IM85
194#define LL_EXTI_LINE_86 EXTI_IMR3_IM86
196#define LL_EXTI_LINE_87 EXTI_IMR3_IM87
198#define LL_EXTI_LINE_88 EXTI_IMR3_IM88
200#if defined(EXTI_IMR3_IM89)
201#define LL_EXTI_LINE_89 EXTI_IMR3_IM89
203#if defined(EXTI_IMR3_IM90)
204#define LL_EXTI_LINE_90 EXTI_IMR3_IM90
207#define LL_EXTI_LINE_91 EXTI_IMR3_IM91
209#define LL_EXTI_LINE_ALL_64_95 EXTI_IMR3_IM
212#define LL_EXTI_LINE_ALL (0xFFFFFFFFU)
214#if defined(USE_FULL_LL_DRIVER)
215#define LL_EXTI_LINE_NONE (0x00000000U)
221#if defined(USE_FULL_LL_DRIVER)
226#define LL_EXTI_MODE_IT ((uint8_t)0x01U)
227#define LL_EXTI_MODE_EVENT ((uint8_t)0x02U)
228#define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x03U)
230#if defined(DUAL_CORE)
231#define LL_EXTI_MODE_C1_IT LL_EXTI_MODE_IT
232#define LL_EXTI_MODE_C1_EVENT LL_EXTI_MODE_EVENT
233#define LL_EXTI_MODE_C1_IT_EVENT LL_EXTI_MODE_IT_EVENT
235#define LL_EXTI_MODE_C2_IT ((uint8_t)0x10U)
236#define LL_EXTI_MODE_C2_EVENT ((uint8_t)0x20U)
237#define LL_EXTI_MODE_C2_IT_EVENT ((uint8_t)0x30U)
247#define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U)
248#define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U)
249#define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U)
250#define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U)
259#define LL_EXTI_D3_PEND_CLR_DMACH6 ((uint8_t)0x00U)
260#define LL_EXTI_D3_PEND_CLR_DMACH7 ((uint8_t)0x01U)
262#define LL_EXTI_D3_PEND_CLR_LPTIM4 ((uint8_t)0x02U)
264#define LL_EXTI_D3_PEND_CLR_LPTIM2 ((uint8_t)0x02U)
267#define LL_EXTI_D3_PEND_CLR_LPTIM5 ((uint8_t)0x03U)
269#define LL_EXTI_D3_PEND_CLR_LPTIM3 ((uint8_t)0x02U)
298#define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
305#define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
631 return ((
READ_BIT(
EXTI->IMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
677 return ((
READ_BIT(
EXTI->IMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
719 return ((
READ_BIT(
EXTI->IMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
722#if defined(DUAL_CORE)
1011__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
1013 return ((
READ_BIT(
EXTI->C2IMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1055__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine)
1057 return ((
READ_BIT(
EXTI->C2IMR2, ExtiLine) == (ExtiLine))? 1U : 0U);
1090__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledIT_64_95(uint32_t ExtiLine)
1092 return ((
READ_BIT(
EXTI->C2IMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1406__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
1408 return ((
READ_BIT(
EXTI->EMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1451__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine)
1453 return ((
READ_BIT(
EXTI->EMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1492__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine)
1494 return ((
READ_BIT(
EXTI->EMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1497#if defined(DUAL_CORE)
1786__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
1788 return ((
READ_BIT(
EXTI->C2EMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1830__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine)
1832 return ((
READ_BIT(
EXTI->C2EMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
1865__STATIC_INLINE uint32_t LL_C2_EXTI_IsEnabledEvent_64_95(uint32_t ExtiLine)
1867 return ((
READ_BIT(
EXTI->C2EMR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2021__STATIC_INLINE void LL_EXTI_DisableRisingTrig_32_63(uint32_t ExtiLine)
2046__STATIC_INLINE void LL_EXTI_DisableRisingTrig_64_95(uint32_t ExtiLine)
2079__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
2081 return ((
READ_BIT(
EXTI->RTSR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2093__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_32_63(uint32_t ExtiLine)
2095 return ((
READ_BIT(
EXTI->RTSR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2111__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_64_95(uint32_t ExtiLine)
2113 return ((
READ_BIT(
EXTI->RTSR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2179__STATIC_INLINE void LL_EXTI_EnableFallingTrig_32_63(uint32_t ExtiLine)
2204__STATIC_INLINE void LL_EXTI_EnableFallingTrig_64_95(uint32_t ExtiLine)
2244__STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
2263__STATIC_INLINE void LL_EXTI_DisableFallingTrig_32_63(uint32_t ExtiLine)
2287__STATIC_INLINE void LL_EXTI_DisableFallingTrig_64_95(uint32_t ExtiLine)
2321__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
2323 return ((
READ_BIT(
EXTI->FTSR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2334__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_32_63(uint32_t ExtiLine)
2336 return ((
READ_BIT(
EXTI->FTSR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2352__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_64_95(uint32_t ExtiLine)
2354 return ((
READ_BIT(
EXTI->FTSR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2487 return ((
READ_BIT(
EXTI->PR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2503 return ((
READ_BIT(
EXTI->PR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2523 return ((
READ_BIT(
EXTI->PR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2669#if defined(DUAL_CORE)
2702__STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
2704 return ((
READ_BIT(
EXTI->C2PR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2718__STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_32_63(uint32_t ExtiLine)
2720 return ((
READ_BIT(
EXTI->C2PR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2736__STATIC_INLINE uint32_t LL_C2_EXTI_IsActiveFlag_64_95(uint32_t ExtiLine)
2738 return ((
READ_BIT(
EXTI->C2PR3, ExtiLine) == (ExtiLine)) ? 1U : 0U);
2923__STATIC_INLINE void LL_D3_EXTI_EnablePendMask_32_63(uint32_t ExtiLine)
2954__STATIC_INLINE void LL_D3_EXTI_DisablePendMask_0_31(uint32_t ExtiLine)
2974__STATIC_INLINE void LL_D3_EXTI_DisablePendMask_32_63(uint32_t ExtiLine)
3005__STATIC_INLINE uint32_t LL_D3_EXTI_IsEnabledPendMask_0_31(uint32_t ExtiLine)
3007 return ((
READ_BIT(
EXTI->D3PMR1, ExtiLine) == (ExtiLine)) ? 1U : 0U);
3025__STATIC_INLINE uint32_t LL_D3_EXTI_IsEnabledPendMask_32_63(uint32_t ExtiLine)
3027 return ((
READ_BIT(
EXTI->D3PMR2, ExtiLine) == (ExtiLine)) ? 1U : 0U);
3061__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_0_15(uint32_t ExtiLine, uint32_t ClrSrc)
3063 MODIFY_REG(
EXTI->D3PCR1L, ((ExtiLine * ExtiLine) * 3UL), ((ExtiLine * ExtiLine) * ClrSrc));
3085__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_16_31(uint32_t ExtiLine, uint32_t ClrSrc)
3109__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_32_47(uint32_t ExtiLine, uint32_t ClrSrc)
3111 MODIFY_REG(
EXTI->D3PCR2L, ((ExtiLine * ExtiLine) * 3UL), ((ExtiLine * ExtiLine) * ClrSrc));
3135__STATIC_INLINE void LL_D3_EXTI_SetPendClearSel_48_63(uint32_t ExtiLine, uint32_t ClrSrc)
3170__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_0_15(uint32_t ExtiLine)
3172 return (uint32_t)(
READ_BIT(
EXTI->D3PCR1L, ((ExtiLine * ExtiLine) * 3UL)) / (ExtiLine * ExtiLine));
3193__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_16_31(uint32_t ExtiLine)
3215__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_32_47(uint32_t ExtiLine)
3217 return (uint32_t)(
READ_BIT(
EXTI->D3PCR2L, ((ExtiLine * ExtiLine) * 3UL)) / (ExtiLine * ExtiLine));
3240__STATIC_INLINE uint32_t LL_D3_EXTI_GetPendClearSel_48_63(uint32_t ExtiLine)
3251#if defined(USE_FULL_LL_DRIVER)
3256ErrorStatus LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct);
3258void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct);
#define CLEAR_BIT(REG, BIT)
#define SET_BIT(REG, BIT)
#define WRITE_REG(REG, VAL)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define READ_BIT(REG, BIT)
#define EXTI_IMR1_IM16_Pos
#define EXTI_IMR2_IM48_Pos
CMSIS STM32H7xx Device Peripheral Access Layer Header File.