G32R430 Device Driver Layer v1.0.4
G32R4xx Device Driver Layer API Reference
g32r4xx_ddl_eint.h
Go to the documentation of this file.
1
43
44/* Define to prevent recursive inclusion -------------------------------------*/
45#ifndef G32R4xx_DDL_EINT_H
46#define G32R4xx_DDL_EINT_H
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52/* Includes ------------------------------------------------------------------*/
53#include "g32r4xx.h"
54
58
59#if defined (EINT)
60
64
65/* Private types -------------------------------------------------------------*/
66/* Private variables ---------------------------------------------------------*/
67/* Private constants ---------------------------------------------------------*/
68/* Private Macros ------------------------------------------------------------*/
69#if defined(USE_FULL_DDL_DRIVER)
76#endif /*USE_FULL_DDL_DRIVER*/
77/* Exported types ------------------------------------------------------------*/
78#if defined(USE_FULL_DDL_DRIVER)
82typedef struct
83{
84
85 uint32_t Line;
87
88 FunctionalState LineCommand;
90
91 uint8_t Mode;
93
94 uint8_t Trigger;
97
101#endif /*USE_FULL_DDL_DRIVER*/
102
103/* Exported constants --------------------------------------------------------*/
107
111#define DDL_EINT_LINE_0 EINT_IMASK_IM0
112#define DDL_EINT_LINE_1 EINT_IMASK_IM1
113#define DDL_EINT_LINE_2 EINT_IMASK_IM2
114#define DDL_EINT_LINE_3 EINT_IMASK_IM3
115#define DDL_EINT_LINE_4 EINT_IMASK_IM4
116#define DDL_EINT_LINE_5 EINT_IMASK_IM5
117#define DDL_EINT_LINE_6 EINT_IMASK_IM6
118#define DDL_EINT_LINE_7 EINT_IMASK_IM7
119#define DDL_EINT_LINE_8 EINT_IMASK_IM8
120#define DDL_EINT_LINE_9 EINT_IMASK_IM9
121#define DDL_EINT_LINE_10 EINT_IMASK_IM10
122#define DDL_EINT_LINE_11 EINT_IMASK_IM11
123#define DDL_EINT_LINE_12 EINT_IMASK_IM12
124#define DDL_EINT_LINE_13 EINT_IMASK_IM13
125#define DDL_EINT_LINE_14 EINT_IMASK_IM14
126#define DDL_EINT_LINE_15 EINT_IMASK_IM15
127#if defined(EINT_IMASK_IM16)
128#define DDL_EINT_LINE_16 EINT_IMASK_IM16
129#endif
130#define DDL_EINT_LINE_17 EINT_IMASK_IM17
131#if defined(EINT_IMASK_IM18)
132#define DDL_EINT_LINE_18 EINT_IMASK_IM18
133#endif
134#define DDL_EINT_LINE_19 EINT_IMASK_IM19
135#if defined(EINT_IMASK_IM20)
136#define DDL_EINT_LINE_20 EINT_IMASK_IM20
137#endif
138#if defined(EINT_IMASK_IM21)
139#define DDL_EINT_LINE_21 EINT_IMASK_IM21
140#endif
141#if defined(EINT_IMASK_IM22)
142#define DDL_EINT_LINE_22 EINT_IMASK_IM22
143#endif
144#if defined(EINT_IMASK_IM23)
145#define DDL_EINT_LINE_23 EINT_IMASK_IM23
146#endif
147#if defined(EINT_IMASK_IM24)
148#define DDL_EINT_LINE_24 EINT_IMASK_IM24
149#endif
150#if defined(EINT_IMASK_IM25)
151#define DDL_EINT_LINE_25 EINT_IMASK_IM25
152#endif
153#if defined(EINT_IMASK_IM26)
154#define DDL_EINT_LINE_26 EINT_IMASK_IM26
155#endif
156#if defined(EINT_IMASK_IM27)
157#define DDL_EINT_LINE_27 EINT_IMASK_IM27
158#endif
159#if defined(EINT_IMASK_IM28)
160#define DDL_EINT_LINE_28 EINT_IMASK_IM28
161#endif
162#if defined(EINT_IMASK_IM29)
163#define DDL_EINT_LINE_29 EINT_IMASK_IM29
164#endif
165#if defined(EINT_IMASK_IM30)
166#define DDL_EINT_LINE_30 EINT_IMASK_IM30
167#endif
168#if defined(EINT_IMASK_IM31)
169#define DDL_EINT_LINE_31 EINT_IMASK_IM31
170#endif
171#define DDL_EINT_LINE_ALL EINT_IMASK_IM
172
173#if defined(USE_FULL_DDL_DRIVER)
174#define DDL_EINT_LINE_NONE ((uint32_t)0x00000000U)
175#endif /*USE_FULL_DDL_DRIVER*/
176
180#if defined(USE_FULL_DDL_DRIVER)
181
185#define DDL_EINT_MODE_IT ((uint8_t)0x00U)
186#define DDL_EINT_MODE_EVENT ((uint8_t)0x01U)
187#define DDL_EINT_MODE_IT_EVENT ((uint8_t)0x02U)
191
195#define DDL_EINT_TRIGGER_NONE ((uint8_t)0x00U)
196#define DDL_EINT_TRIGGER_RISING ((uint8_t)0x01U)
197#define DDL_EINT_TRIGGER_FALLING ((uint8_t)0x02U)
198#define DDL_EINT_TRIGGER_RISING_FALLING ((uint8_t)0x03U)
202
206#define DDL_EINT_LINE_SOURCE_GPIOA ((uint8_t)0x00U) /* Channel source choose GPIOA */
207#define DDL_EINT_LINE_SOURCE_GPIOB ((uint8_t)0x01U) /* Channel source choose GPIOB */
208#define DDL_EINT_LINE_SOURCE_GPIOC ((uint8_t)0x02U) /* Channel source choose GPIOC */
209#define DDL_EINT_LINE_SOURCE_GPIOD ((uint8_t)0x03U) /* Channel source choose GPIOD */
213
214#endif /*USE_FULL_DDL_DRIVER*/
215
219
220/* Exported macro ------------------------------------------------------------*/
224
228
235#define DDL_EINT_WriteReg(__REG__, __VALUE__) WRITE_REG(EINT->__REG__, (__VALUE__))
236
242#define DDL_EINT_ReadReg(__REG__) READ_REG(EINT->__REG__)
246
250
251/* Exported functions --------------------------------------------------------*/
258
292__STATIC_INLINE void DDL_EINT_EnableIT(uint32_t EintLine)
293{
294 SET_BIT(EINT->IMASK, EintLine);
295}
296
330__STATIC_INLINE void DDL_EINT_DisableIT(uint32_t EintLine)
331{
332 CLEAR_BIT(EINT->IMASK, EintLine);
333}
334
368__STATIC_INLINE uint32_t DDL_EINT_IsEnabledIT(uint32_t EintLine)
369{
370 return (READ_BIT(EINT->IMASK, EintLine) == (EintLine));
371}
372
376
380
411__STATIC_INLINE void DDL_EINT_EnableEvent(uint32_t EintLine)
412{
413 SET_BIT(EINT->EMASK, EintLine);
414}
415
446__STATIC_INLINE void DDL_EINT_DisableEvent(uint32_t EintLine)
447{
448 CLEAR_BIT(EINT->EMASK, EintLine);
449}
450
481__STATIC_INLINE uint32_t DDL_EINT_IsEnabledEvent(uint32_t EintLine)
482{
483 return (READ_BIT(EINT->EMASK, EintLine) == (EintLine));
484}
485
489
493
529__STATIC_INLINE void DDL_EINT_EnableRisingTrig(uint32_t EintLine)
530{
531 SET_BIT(EINT->RTEN, EintLine);
532}
533
569__STATIC_INLINE void DDL_EINT_DisableRisingTrig(uint32_t EintLine)
570{
571 CLEAR_BIT(EINT->RTEN, EintLine);
572}
573
602__STATIC_INLINE uint32_t DDL_EINT_IsEnabledRisingTrig(uint32_t EintLine)
603{
604 return (READ_BIT(EINT->RTEN, EintLine) == (EintLine));
605}
606
610
614
650__STATIC_INLINE void DDL_EINT_EnableFallingTrig(uint32_t EintLine)
651{
652 SET_BIT(EINT->FTEN, EintLine);
653}
654
689__STATIC_INLINE void DDL_EINT_DisableFallingTrig(uint32_t EintLine)
690{
691 CLEAR_BIT(EINT->FTEN, EintLine);
692}
693
722__STATIC_INLINE uint32_t DDL_EINT_IsEnabledFallingTrig(uint32_t EintLine)
723{
724 return (READ_BIT(EINT->FTEN, EintLine) == (EintLine));
725}
726
730
734
768__STATIC_INLINE void DDL_EINT_GenerateSWI(uint32_t EintLine)
769{
770 SET_BIT(EINT->SWINTE, EintLine);
771}
772
776
780
808__STATIC_INLINE void DDL_EINT_SetLineSource(uint32_t EintLine, uint32_t Source)
809{
810 uint32_t *reg = (uint32_t*)((uint32_t)(&(EINT->IOSELR1)) + ((!!(EintLine & ~(0xff))) << 2U));
811 uint32_t offset = ((POSITION_VAL(EintLine) & 0x07) << 2U);
812 MODIFY_REG((*reg), (EINT_IOSELR1_EINT0 << offset), (Source << offset));
813}
814
841__STATIC_INLINE uint32_t DDL_EINT_GetLineSource(uint32_t EintLine)
842{
843 uint32_t *reg = (uint32_t*)((uint32_t)(&(EINT->IOSELR1)) + ((!!(EintLine & ~(0xff))) << 2U));
844 uint32_t offset = ((POSITION_VAL(EintLine) & 0x07) << 2U);
845 return (uint32_t)(READ_BIT((*reg), (EINT_IOSELR1_EINT0 << offset)) >> offset);
846}
847
851
855
886__STATIC_INLINE uint32_t DDL_EINT_IsActiveFlag(uint32_t EintLine)
887{
888 return (READ_BIT(EINT->IPEND, EintLine) == (EintLine));
889}
890
921__STATIC_INLINE uint32_t DDL_EINT_ReadFlag(uint32_t EintLine)
922{
923 return (uint32_t)(READ_BIT(EINT->IPEND, EintLine));
924}
925
956__STATIC_INLINE void DDL_EINT_ClearFlag(uint32_t EintLine)
957{
958 WRITE_REG(EINT->IPEND, EintLine);
959}
960
964
965#if defined(USE_FULL_DDL_DRIVER)
969
970uint32_t DDL_EINT_Init(DDL_EINT_InitTypeDef *EINT_InitStruct);
971uint32_t DDL_EINT_DeInit(void);
972void DDL_EINT_StructInit(DDL_EINT_InitTypeDef *EINT_InitStruct);
973
977#endif /* USE_FULL_DDL_DRIVER */
978
982
986
987#endif /* EINT */
988
992
993#ifdef __cplusplus
994}
995#endif
996
997#endif /* G32R4xx_DDL_EINT_H */
998
__STATIC_INLINE void DDL_EINT_EnableEvent(uint32_t EintLine)
Enable EintLine Event request for Lines within the range.
__STATIC_INLINE uint32_t DDL_EINT_IsEnabledEvent(uint32_t EintLine)
Indicate if EintLine Event request is enabled for Lines within the range.
__STATIC_INLINE void DDL_EINT_DisableEvent(uint32_t EintLine)
Disable EintLine Event request for Lines within the range.
__STATIC_INLINE void DDL_EINT_EnableFallingTrig(uint32_t EintLine)
Enable EintLine Falling Edge Trigger for Lines within the range.
__STATIC_INLINE void DDL_EINT_DisableFallingTrig(uint32_t EintLine)
Disable EintLine Falling Edge Trigger for Lines within the range.
__STATIC_INLINE uint32_t DDL_EINT_IsEnabledFallingTrig(uint32_t EintLine)
Check if falling edge trigger is enabled for Lines within the range.
__STATIC_INLINE uint32_t DDL_EINT_IsActiveFlag(uint32_t EintLine)
Check if the EintLine Flag is set or not for Lines within the range.
__STATIC_INLINE void DDL_EINT_ClearFlag(uint32_t EintLine)
Clear EintLine Flags for Lines within the range.
__STATIC_INLINE uint32_t DDL_EINT_ReadFlag(uint32_t EintLine)
Read EintLine Combination Flag for Lines within the range.
__STATIC_INLINE void DDL_EINT_EnableIT(uint32_t EintLine)
Enable EintLine Interrupt request for Lines within the range.
__STATIC_INLINE uint32_t DDL_EINT_IsEnabledIT(uint32_t EintLine)
Indicate if EintLine Interrupt request is enabled for Lines within the range.
__STATIC_INLINE void DDL_EINT_DisableIT(uint32_t EintLine)
Disable EintLine Interrupt request for Lines within the range.
void DDL_EINT_StructInit(DDL_EINT_InitTypeDef *EINT_InitStruct)
Set each DDL_EINT_InitTypeDef field to default value.
uint32_t DDL_EINT_DeInit(void)
De-initialize the EINT registers to their default reset values.
uint32_t DDL_EINT_Init(DDL_EINT_InitTypeDef *EINT_InitStruct)
Initialize the EINT registers according to the specified parameters in EINT_InitStruct.
__STATIC_INLINE void DDL_EINT_SetLineSource(uint32_t EintLine, uint32_t Source)
Set EINT line source.
__STATIC_INLINE uint32_t DDL_EINT_GetLineSource(uint32_t EintLine)
Set EINT line source.
__STATIC_INLINE void DDL_EINT_EnableRisingTrig(uint32_t EintLine)
Enable EintLine Rising Edge Trigger for Lines within the range.
__STATIC_INLINE void DDL_EINT_DisableRisingTrig(uint32_t EintLine)
Disable EintLine Rising Edge Trigger for Lines within the range.
__STATIC_INLINE uint32_t DDL_EINT_IsEnabledRisingTrig(uint32_t EintLine)
Check if rising edge trigger is enabled for Lines within the range.
__STATIC_INLINE void DDL_EINT_GenerateSWI(uint32_t EintLine)
Generate a software Interrupt Event for Lines within the range.
FunctionalState LineCommand