20#ifndef __STM32F4xx_LL_EXTI_H
21#define __STM32F4xx_LL_EXTI_H
44#if defined(USE_FULL_LL_DRIVER)
53#if defined(USE_FULL_LL_DRIVER)
63 FunctionalState LineCommand;
86#define LL_EXTI_LINE_0 EXTI_IMR_IM0
87#define LL_EXTI_LINE_1 EXTI_IMR_IM1
88#define LL_EXTI_LINE_2 EXTI_IMR_IM2
89#define LL_EXTI_LINE_3 EXTI_IMR_IM3
90#define LL_EXTI_LINE_4 EXTI_IMR_IM4
91#define LL_EXTI_LINE_5 EXTI_IMR_IM5
92#define LL_EXTI_LINE_6 EXTI_IMR_IM6
93#define LL_EXTI_LINE_7 EXTI_IMR_IM7
94#define LL_EXTI_LINE_8 EXTI_IMR_IM8
95#define LL_EXTI_LINE_9 EXTI_IMR_IM9
96#define LL_EXTI_LINE_10 EXTI_IMR_IM10
97#define LL_EXTI_LINE_11 EXTI_IMR_IM11
98#define LL_EXTI_LINE_12 EXTI_IMR_IM12
99#define LL_EXTI_LINE_13 EXTI_IMR_IM13
100#define LL_EXTI_LINE_14 EXTI_IMR_IM14
101#define LL_EXTI_LINE_15 EXTI_IMR_IM15
102#if defined(EXTI_IMR_IM16)
103#define LL_EXTI_LINE_16 EXTI_IMR_IM16
105#define LL_EXTI_LINE_17 EXTI_IMR_IM17
106#if defined(EXTI_IMR_IM18)
107#define LL_EXTI_LINE_18 EXTI_IMR_IM18
109#define LL_EXTI_LINE_19 EXTI_IMR_IM19
110#if defined(EXTI_IMR_IM20)
111#define LL_EXTI_LINE_20 EXTI_IMR_IM20
113#if defined(EXTI_IMR_IM21)
114#define LL_EXTI_LINE_21 EXTI_IMR_IM21
116#if defined(EXTI_IMR_IM22)
117#define LL_EXTI_LINE_22 EXTI_IMR_IM22
119#if defined(EXTI_IMR_IM23)
120#define LL_EXTI_LINE_23 EXTI_IMR_IM23
122#if defined(EXTI_IMR_IM24)
123#define LL_EXTI_LINE_24 EXTI_IMR_IM24
125#if defined(EXTI_IMR_IM25)
126#define LL_EXTI_LINE_25 EXTI_IMR_IM25
128#if defined(EXTI_IMR_IM26)
129#define LL_EXTI_LINE_26 EXTI_IMR_IM26
131#if defined(EXTI_IMR_IM27)
132#define LL_EXTI_LINE_27 EXTI_IMR_IM27
134#if defined(EXTI_IMR_IM28)
135#define LL_EXTI_LINE_28 EXTI_IMR_IM28
137#if defined(EXTI_IMR_IM29)
138#define LL_EXTI_LINE_29 EXTI_IMR_IM29
140#if defined(EXTI_IMR_IM30)
141#define LL_EXTI_LINE_30 EXTI_IMR_IM30
143#if defined(EXTI_IMR_IM31)
144#define LL_EXTI_LINE_31 EXTI_IMR_IM31
146#define LL_EXTI_LINE_ALL_0_31 EXTI_IMR_IM
149#define LL_EXTI_LINE_ALL ((uint32_t)0xFFFFFFFFU)
151#if defined(USE_FULL_LL_DRIVER)
152#define LL_EXTI_LINE_NONE ((uint32_t)0x00000000U)
158#if defined(USE_FULL_LL_DRIVER)
163#define LL_EXTI_MODE_IT ((uint8_t)0x00U)
164#define LL_EXTI_MODE_EVENT ((uint8_t)0x01U)
165#define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x02U)
173#define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U)
174#define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U)
175#define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U)
176#define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U)
205#define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
212#define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
268__STATIC_INLINE
void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
270 SET_BIT(EXTI->IMR, ExtiLine);
309__STATIC_INLINE
void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
311 CLEAR_BIT(EXTI->IMR, ExtiLine);
351__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
353 return (READ_BIT(EXTI->IMR, ExtiLine) == (ExtiLine));
398__STATIC_INLINE
void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
400 SET_BIT(EXTI->EMR, ExtiLine);
438__STATIC_INLINE
void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
440 CLEAR_BIT(EXTI->EMR, ExtiLine);
477__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
479 return (READ_BIT(EXTI->EMR, ExtiLine) == (ExtiLine));
529__STATIC_INLINE
void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
531 SET_BIT(EXTI->RTSR, ExtiLine);
573__STATIC_INLINE
void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
575 CLEAR_BIT(EXTI->RTSR, ExtiLine);
610__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
612 return (READ_BIT(EXTI->RTSR, ExtiLine) == (ExtiLine));
661__STATIC_INLINE
void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
663 SET_BIT(EXTI->FTSR, ExtiLine);
703__STATIC_INLINE
void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
705 CLEAR_BIT(EXTI->FTSR, ExtiLine);
739__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
741 return (READ_BIT(EXTI->FTSR, ExtiLine) == (ExtiLine));
788__STATIC_INLINE
void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
790 SET_BIT(EXTI->SWIER, ExtiLine);
834__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
836 return (READ_BIT(EXTI->PR, ExtiLine) == (ExtiLine));
872__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
874 return (uint32_t)(READ_BIT(EXTI->PR, ExtiLine));
910__STATIC_INLINE
void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
912 WRITE_REG(EXTI->PR, ExtiLine);
920#if defined(USE_FULL_LL_DRIVER)
925uint32_t LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct);
926uint32_t LL_EXTI_DeInit(
void);
927void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct);