Mini51 BSP  V3.02.002
The Board Support Package for Mini51 Series
Macros | Functions
gpio.h File Reference

Mini51 series GPIO driver header file. More...

Go to the source code of this file.

Macros

#define GPIO_PIN_MAX   8
 
#define GPIO_PMD_INPUT   0x0UL
 
#define GPIO_PMD_OUTPUT   0x1UL
 
#define GPIO_PMD_OPEN_DRAIN   0x2UL
 
#define GPIO_PMD_QUASI   0x3UL
 
#define GPIO_INT_RISING   0x00010000UL
 
#define GPIO_INT_FALLING   0x00000001UL
 
#define GPIO_INT_BOTH_EDGE   0x00010001UL
 
#define GPIO_INT_HIGH   0x01010000UL
 
#define GPIO_INT_LOW   0x01000001UL
 
#define GPIO_IMD_EDGE   0UL
 
#define GPIO_IMD_LEVEL   1UL
 
#define GPIO_DBNCECON_ICLK_ON   0x00000020UL
 
#define GPIO_DBNCECON_ICLK_OFF   0x00000000UL
 
#define GPIO_DBNCECON_DBCLKSRC_IRC10K   0x00000010UL
 
#define GPIO_DBNCECON_DBCLKSRC_HCLK   0x00000000UL
 
#define GPIO_DBNCECON_DBCLKSEL_1   0x00000000UL
 
#define GPIO_DBNCECON_DBCLKSEL_2   0x00000001UL
 
#define GPIO_DBNCECON_DBCLKSEL_4   0x00000002UL
 
#define GPIO_DBNCECON_DBCLKSEL_8   0x00000003UL
 
#define GPIO_DBNCECON_DBCLKSEL_16   0x00000004UL
 
#define GPIO_DBNCECON_DBCLKSEL_32   0x00000005UL
 
#define GPIO_DBNCECON_DBCLKSEL_64   0x00000006UL
 
#define GPIO_DBNCECON_DBCLKSEL_128   0x00000007UL
 
#define GPIO_DBNCECON_DBCLKSEL_256   0x00000008UL
 
#define GPIO_DBNCECON_DBCLKSEL_512   0x00000009UL
 
#define GPIO_DBNCECON_DBCLKSEL_1024   0x0000000AUL
 
#define GPIO_DBNCECON_DBCLKSEL_2048   0x0000000BUL
 
#define GPIO_DBNCECON_DBCLKSEL_4096   0x0000000CUL
 
#define GPIO_DBNCECON_DBCLKSEL_8192   0x0000000DUL
 
#define GPIO_DBNCECON_DBCLKSEL_16384   0x0000000EUL
 
#define GPIO_DBNCECON_DBCLKSEL_32768   0x0000000FUL
 
#define GPIO_PIN_ADDR(port, pin)   (*((volatile uint32_t *)((GPIOBIT0_BASE+(0x20*(port))) + ((pin)<<2))))
 
#define P00   GPIO_PIN_ADDR(0, 0)
 
#define P01   GPIO_PIN_ADDR(0, 1)
 
#define P02   GPIO_PIN_ADDR(0, 2)
 
#define P03   GPIO_PIN_ADDR(0, 3)
 
#define P04   GPIO_PIN_ADDR(0, 4)
 
#define P05   GPIO_PIN_ADDR(0, 5)
 
#define P06   GPIO_PIN_ADDR(0, 6)
 
#define P07   GPIO_PIN_ADDR(0, 7)
 
#define P10   GPIO_PIN_ADDR(1, 0)
 
#define P11   GPIO_PIN_ADDR(1, 1)
 
#define P12   GPIO_PIN_ADDR(1, 2)
 
#define P13   GPIO_PIN_ADDR(1, 3)
 
#define P14   GPIO_PIN_ADDR(1, 4)
 
#define P15   GPIO_PIN_ADDR(1, 5)
 
#define P16   GPIO_PIN_ADDR(1, 6)
 
#define P17   GPIO_PIN_ADDR(1, 7)
 
#define P20   GPIO_PIN_ADDR(2, 0)
 
#define P21   GPIO_PIN_ADDR(2, 1)
 
#define P22   GPIO_PIN_ADDR(2, 2)
 
#define P23   GPIO_PIN_ADDR(2, 3)
 
#define P24   GPIO_PIN_ADDR(2, 4)
 
#define P25   GPIO_PIN_ADDR(2, 5)
 
#define P26   GPIO_PIN_ADDR(2, 6)
 
#define P27   GPIO_PIN_ADDR(2, 7)
 
#define P30   GPIO_PIN_ADDR(3, 0)
 
#define P31   GPIO_PIN_ADDR(3, 1)
 
#define P32   GPIO_PIN_ADDR(3, 2)
 
#define P33   GPIO_PIN_ADDR(3, 3)
 
#define P34   GPIO_PIN_ADDR(3, 4)
 
#define P35   GPIO_PIN_ADDR(3, 5)
 
#define P36   GPIO_PIN_ADDR(3, 6)
 
#define P37   GPIO_PIN_ADDR(3, 7)
 
#define P40   GPIO_PIN_ADDR(4, 0)
 
#define P41   GPIO_PIN_ADDR(4, 1)
 
#define P42   GPIO_PIN_ADDR(4, 2)
 
#define P43   GPIO_PIN_ADDR(4, 3)
 
#define P44   GPIO_PIN_ADDR(4, 4)
 
#define P45   GPIO_PIN_ADDR(4, 5)
 
#define P46   GPIO_PIN_ADDR(4, 6)
 
#define P47   GPIO_PIN_ADDR(4, 7)
 
#define P50   GPIO_PIN_ADDR(5, 0)
 
#define P51   GPIO_PIN_ADDR(5, 1)
 
#define P52   GPIO_PIN_ADDR(5, 2)
 
#define P53   GPIO_PIN_ADDR(5, 3)
 
#define P54   GPIO_PIN_ADDR(5, 4)
 
#define P55   GPIO_PIN_ADDR(5, 5)
 
#define GPIO_CLR_INT_FLAG(gpio, u32PinMask)   ((gpio)->ISRC = u32PinMask)
 Clear GPIO Pin Interrupt Flag. More...
 
#define GPIO_DISABLE_DEBOUNCE(gpio, u32PinMask)   ((gpio)->DBEN &= ~u32PinMask)
 Disable Pin De-bounce Function. More...
 
#define GPIO_ENABLE_DEBOUNCE(gpio, u32PinMask)   ((gpio)->DBEN |= u32PinMask)
 Enable Pin De-bounce Function. More...
 
#define GPIO_DISABLE_DIGITAL_PATH(gpio, u32PinMask)   ((gpio)->OFFD |= (u32PinMask << 16))
 Disable I/O Digital Input Path. More...
 
#define GPIO_ENABLE_DIGITAL_PATH(gpio, u32PinMask)   ((gpio)->OFFD &= ~(u32PinMask << 16))
 Enable I/O Digital Input Path. More...
 
#define GPIO_DISABLE_DOUT_MASK(gpio, u32PinMask)   ((gpio)->DMASK |= u32PinMask)
 Disable I/O DOUT mask. More...
 
#define GPIO_ENABLE_DOUT_MASK(gpio, u32PinMask)   ((gpio)->DMASK &= ~u32PinMask)
 Enable I/O DOUT mask. More...
 
#define GPIO_GET_INT_FLAG(gpio, u32PinMask)   ((gpio)->ISRC & u32PinMask)
 Get GPIO Pin Interrupt Flag. More...
 
#define GPIO_SET_DEBOUNCE_TIME(clksrc, clksel)   (GPIO->DBNCECON = (GPIO_DBNCECON_ICLK_ON_Msk | clksrc | clksel))
 Set De-bounce Sampling Cycle Time. More...
 
#define GPIO_GET_IN_DATA(gpio)   ((gpio)->PIN)
 Get GPIO Port IN Data. More...
 
#define GPIO_SET_OUT_DATA(gpio, data)   ((gpio)->DOUT = (data))
 Set GPIO Port OUT Data. More...
 
#define GPIO_TOGGLE(u32Pin)   ((u32Pin) ^= 1)
 Toggle Specified GPIO pin. More...
 
#define GPIO_EnableEINT0   GPIO_EnableInt
 Enable External GPIO interrupt 0. More...
 
#define GPIO_DisableEINT0   GPIO_DisableInt
 Disable External GPIO interrupt 0. More...
 
#define GPIO_EnableEINT1   GPIO_EnableInt
 Enable External GPIO interrupt 1. More...
 
#define GPIO_DisableEINT1   GPIO_DisableInt
 Disable External GPIO interrupt 1. More...
 

Functions

void GPIO_SetMode (GPIO_T *gpio, uint32_t u32PinMask, uint32_t u32Mode)
 Set GPIO operation mode. More...
 
void GPIO_EnableInt (GPIO_T *gpio, uint32_t u32Pin, uint32_t u32IntAttribs)
 Enable GPIO interrupt. More...
 
void GPIO_DisableInt (GPIO_T *gpio, uint32_t u32Pin)
 Disable GPIO interrupt. More...
 

Detailed Description

Mini51 series GPIO driver header file.

Version
V1.00
Revision
9
Date
15/10/06 10:44a
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2013 Nuvoton Technology Corp. All rights reserved.

Definition in file gpio.h.