M4521_BSP V3.02.000
The Board Support Package for M4521
gpio.c
Go to the documentation of this file.
1/**************************************************************************/
13#include "M4521.h"
14
42void GPIO_SetMode(GPIO_T *port, uint32_t u32PinMask, uint32_t u32Mode)
43{
44 uint32_t i;
45
46 for(i = 0; i < GPIO_PIN_MAX; i++)
47 {
48 if(u32PinMask & (1 << i))
49 {
50 port->MODE = (port->MODE & ~(0x3 << (i << 1))) | (u32Mode << (i << 1));
51 }
52 }
53}
54
70void GPIO_EnableInt(GPIO_T *port, uint32_t u32Pin, uint32_t u32IntAttribs)
71{
72 port->INTTYPE |= (((u32IntAttribs >> 24) & 0xFFUL) << u32Pin);
73 port->INTEN |= ((u32IntAttribs & 0xFFFFFFUL) << u32Pin);
74}
75
76
90void GPIO_DisableInt(GPIO_T *port, uint32_t u32Pin)
91{
92 port->INTTYPE &= ~(1UL << u32Pin);
93 port->INTEN &= ~((0x00010001UL) << u32Pin);
94}
95
96 /* end of group GPIO_EXPORTED_FUNCTIONS */
98 /* end of group GPIO_Driver */
100 /* end of group Standard_Driver */
102
103/*** (C) COPYRIGHT 2022 Nuvoton Technology Corp. ***/
#define GPIO_PIN_MAX
Definition: gpio.h:34
void GPIO_EnableInt(GPIO_T *port, uint32_t u32Pin, uint32_t u32IntAttribs)
Enable GPIO interrupt.
Definition: gpio.c:70
void GPIO_DisableInt(GPIO_T *port, uint32_t u32Pin)
Disable GPIO interrupt.
Definition: gpio.c:90
void GPIO_SetMode(GPIO_T *port, uint32_t u32PinMask, uint32_t u32Mode)
Set GPIO operation mode.
Definition: gpio.c:42
__IO uint32_t MODE
Definition: M4521.h:2656
__IO uint32_t INTTYPE
Definition: M4521.h:2662
__IO uint32_t INTEN
Definition: M4521.h:2663
Definition: M4521.h:2472