STM32F4xx HAL Driver master
STM32CubeF4 HAL / LL Drivers API Reference
Loading...
Searching...
No Matches
stm32f4xx_ll_exti.h
Go to the documentation of this file.
1
18
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef __STM32F4xx_LL_EXTI_H
21#define __STM32F4xx_LL_EXTI_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32f4xx.h"
29
33
34#if defined (EXTI)
35
39
40/* Private types -------------------------------------------------------------*/
41/* Private variables ---------------------------------------------------------*/
42/* Private constants ---------------------------------------------------------*/
43/* Private Macros ------------------------------------------------------------*/
44#if defined(USE_FULL_LL_DRIVER)
51#endif /*USE_FULL_LL_DRIVER*/
52/* Exported types ------------------------------------------------------------*/
53#if defined(USE_FULL_LL_DRIVER)
57typedef struct
58{
59
60 uint32_t Line_0_31;
62
63 FunctionalState LineCommand;
65
66 uint8_t Mode;
68
69 uint8_t Trigger;
71} LL_EXTI_InitTypeDef;
72
76#endif /*USE_FULL_LL_DRIVER*/
77
78/* Exported constants --------------------------------------------------------*/
82
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
104#endif
105#define LL_EXTI_LINE_17 EXTI_IMR_IM17
106#if defined(EXTI_IMR_IM18)
107#define LL_EXTI_LINE_18 EXTI_IMR_IM18
108#endif
109#define LL_EXTI_LINE_19 EXTI_IMR_IM19
110#if defined(EXTI_IMR_IM20)
111#define LL_EXTI_LINE_20 EXTI_IMR_IM20
112#endif
113#if defined(EXTI_IMR_IM21)
114#define LL_EXTI_LINE_21 EXTI_IMR_IM21
115#endif
116#if defined(EXTI_IMR_IM22)
117#define LL_EXTI_LINE_22 EXTI_IMR_IM22
118#endif
119#if defined(EXTI_IMR_IM23)
120#define LL_EXTI_LINE_23 EXTI_IMR_IM23
121#endif
122#if defined(EXTI_IMR_IM24)
123#define LL_EXTI_LINE_24 EXTI_IMR_IM24
124#endif
125#if defined(EXTI_IMR_IM25)
126#define LL_EXTI_LINE_25 EXTI_IMR_IM25
127#endif
128#if defined(EXTI_IMR_IM26)
129#define LL_EXTI_LINE_26 EXTI_IMR_IM26
130#endif
131#if defined(EXTI_IMR_IM27)
132#define LL_EXTI_LINE_27 EXTI_IMR_IM27
133#endif
134#if defined(EXTI_IMR_IM28)
135#define LL_EXTI_LINE_28 EXTI_IMR_IM28
136#endif
137#if defined(EXTI_IMR_IM29)
138#define LL_EXTI_LINE_29 EXTI_IMR_IM29
139#endif
140#if defined(EXTI_IMR_IM30)
141#define LL_EXTI_LINE_30 EXTI_IMR_IM30
142#endif
143#if defined(EXTI_IMR_IM31)
144#define LL_EXTI_LINE_31 EXTI_IMR_IM31
145#endif
146#define LL_EXTI_LINE_ALL_0_31 EXTI_IMR_IM
147
148
149#define LL_EXTI_LINE_ALL ((uint32_t)0xFFFFFFFFU)
150
151#if defined(USE_FULL_LL_DRIVER)
152#define LL_EXTI_LINE_NONE ((uint32_t)0x00000000U)
153#endif /*USE_FULL_LL_DRIVER*/
154
158#if defined(USE_FULL_LL_DRIVER)
159
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)
169
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)
177
181
182
183#endif /*USE_FULL_LL_DRIVER*/
184
185
189
190/* Exported macro ------------------------------------------------------------*/
194
198
205#define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
206
212#define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
216
217
221
222
223
224/* Exported functions --------------------------------------------------------*/
231
268__STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
269{
270 SET_BIT(EXTI->IMR, ExtiLine);
271}
272
309__STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
310{
311 CLEAR_BIT(EXTI->IMR, ExtiLine);
312}
313
314
351__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
352{
353 return (READ_BIT(EXTI->IMR, ExtiLine) == (ExtiLine));
354}
355
356
360
364
398__STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
399{
400 SET_BIT(EXTI->EMR, ExtiLine);
401
402}
403
404
438__STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
439{
440 CLEAR_BIT(EXTI->EMR, ExtiLine);
441}
442
443
477__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
478{
479 return (READ_BIT(EXTI->EMR, ExtiLine) == (ExtiLine));
480
481}
482
483
487
491
529__STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
530{
531 SET_BIT(EXTI->RTSR, ExtiLine);
532
533}
534
535
573__STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
574{
575 CLEAR_BIT(EXTI->RTSR, ExtiLine);
576
577}
578
579
610__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
611{
612 return (READ_BIT(EXTI->RTSR, ExtiLine) == (ExtiLine));
613}
614
615
619
623
661__STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
662{
663 SET_BIT(EXTI->FTSR, ExtiLine);
664}
665
666
703__STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
704{
705 CLEAR_BIT(EXTI->FTSR, ExtiLine);
706}
707
708
739__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
740{
741 return (READ_BIT(EXTI->FTSR, ExtiLine) == (ExtiLine));
742}
743
744
748
752
788__STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
789{
790 SET_BIT(EXTI->SWIER, ExtiLine);
791}
792
793
797
801
834__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
835{
836 return (READ_BIT(EXTI->PR, ExtiLine) == (ExtiLine));
837}
838
839
872__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
873{
874 return (uint32_t)(READ_BIT(EXTI->PR, ExtiLine));
875}
876
877
910__STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
911{
912 WRITE_REG(EXTI->PR, ExtiLine);
913}
914
915
919
920#if defined(USE_FULL_LL_DRIVER)
924
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);
928
929
933#endif /* USE_FULL_LL_DRIVER */
934
938
942
943#endif /* EXTI */
944
948
949#ifdef __cplusplus
950}
951#endif
952
953#endif /* __STM32F4xx_LL_EXTI_H */
954