libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
GPIO Defines

Defined Constants and Types for the NRF52xx General Purpose I/O More...

Collaboration diagram for GPIO Defines:

Modules

 GPIO Pin Mode
 
 GPIO Output Pin Pullup
 
 GPIO Pin Identifiers
 
 GPIO ports
 
 GPIO drive configuration
 
 GPIO sensing mechanism
 

Macros

#define GPIO_OUT   MMIO32(GPIO_BASE + 0x504)
 
#define GPIO_OUTSET   MMIO32(GPIO_BASE + 0x508)
 
#define GPIO_OUTCLR   MMIO32(GPIO_BASE + 0x50C)
 
#define GPIO_IN   MMIO32(GPIO_BASE + 0x510)
 
#define GPIO_DIR   MMIO32(GPIO_BASE + 0x514)
 
#define GPIO_DIRSET   MMIO32(GPIO_BASE + 0x518)
 
#define GPIO_DIRCLR   MMIO32(GPIO_BASE + 0x51C)
 
#define GPIO_PIN_CNF(N)   MMIO32(GPIO_BASE + 0x700 + 0x4 * (N))
 
#define GPIO_CNF_MODE_MASK   2
 
#define GPIO_CNF_MODE_SHIFT   0
 
#define GPIO_CNF_PUPD_MASK   2
 
#define GPIO_CNF_PUPD_SHIFT   2
 
#define GPIO_CNF_DRIVE_SHIFT   8
 
#define GPIO_CNF_DRIVE_MASK   7
 
#define GPIO_CNF_SENSE_SHIFT   16
 
#define GPIO_CNF_SENSE_MASK   3
 
#define GPIO_TASK_OUT(n)   MMIO32(GPIOTE_BASE + 0x4 * (n))
 
#define GPIO_EVENT_IN(n)   MMIO32(GPIOTE_BASE + 0x100 + 0x4 * (n))
 
#define GPIO_EVENT_PORT   MMIO32(GPIOTE_BASE + 0x17C)
 
#define GPIO_INTEN   MMIO32(GPIOTE_BASE + 0x300)
 
#define GPIO_INTENSET   MMIO32(GPIOTE_BASE + 0x304)
 
#define GPIO_INTENCLR   MMIO32(GPIOTE_BASE + 0x308)
 
#define GPIO_TE_CONFIG(n)   MMIO32(GPIOTE_BASE + 0x510 + 0x4 * (n))
 
#define GPIO_INTEN_IN(n)   (1 << (n))
 
#define GPIO_INTEN_PORT   (1 << 31)
 
#define GPIO_TE_CONFIG_MODE_SHIFT   0
 
#define GPIO_TE_CONFIG_MODE_MASK   3
 
#define GPIO_TE_CONFIG_PSEL_SHIFT   8
 
#define GPIO_TE_CONFIG_PSEL_MASK   0x1f
 
#define GPIO_TE_CONFIG_POLARITY_SHIFT   16
 
#define GPIO_TE_CONFIG_POLARITY_MASK   3
 
#define GPIO_TE_CONFIG_OUTINIT   (1 << 20)
 
#define GPIO_TE_MODE_DISABLED   0
 
#define GPIO_TE_MODE_EVENT   1
 
#define GPIO_TE_MODE_TASK   3
 
#define GPIO_TE_POLARITY_NONE   0
 
#define GPIO_TE_POLARITY_LO_TO_HI   1
 
#define GPIO_TE_POLARITY_HI_TO_LO   2
 
#define GPIO_TE_POLARITY_TOGGLE   3
 
#define GPIO_TE_OUTINIT_LOW   0
 
#define GPIO_TE_OUTINIT_HIGH   1
 

Detailed Description

Defined Constants and Types for the NRF52xx General Purpose I/O

Version
1.0.0
Date
Nov 2021

LGPL License Terms libopencm3 License

Author
© 2016 Maxim Sloyko maxim.nosp@m.s@go.nosp@m.ogle..nosp@m.com
© 2021 Eduard Drusa <ventyl86 at netkosice dot sk>

Macro Definition Documentation

◆ GPIO_CNF_DRIVE_MASK

#define GPIO_CNF_DRIVE_MASK   7

Definition at line 81 of file common/gpio.h.

◆ GPIO_CNF_DRIVE_SHIFT

#define GPIO_CNF_DRIVE_SHIFT   8

Definition at line 80 of file common/gpio.h.

◆ GPIO_CNF_MODE_MASK

#define GPIO_CNF_MODE_MASK   2

Definition at line 57 of file common/gpio.h.

◆ GPIO_CNF_MODE_SHIFT

#define GPIO_CNF_MODE_SHIFT   0

Definition at line 58 of file common/gpio.h.

◆ GPIO_CNF_PUPD_MASK

#define GPIO_CNF_PUPD_MASK   2

Definition at line 69 of file common/gpio.h.

◆ GPIO_CNF_PUPD_SHIFT

#define GPIO_CNF_PUPD_SHIFT   2

Definition at line 70 of file common/gpio.h.

◆ GPIO_CNF_SENSE_MASK

#define GPIO_CNF_SENSE_MASK   3

Definition at line 113 of file common/gpio.h.

◆ GPIO_CNF_SENSE_SHIFT

#define GPIO_CNF_SENSE_SHIFT   16

Definition at line 112 of file common/gpio.h.

◆ GPIO_DIR

#define GPIO_DIR   MMIO32(GPIO_BASE + 0x514)

Definition at line 48 of file common/gpio.h.

◆ GPIO_DIRCLR

#define GPIO_DIRCLR   MMIO32(GPIO_BASE + 0x51C)

Definition at line 50 of file common/gpio.h.

◆ GPIO_DIRSET

#define GPIO_DIRSET   MMIO32(GPIO_BASE + 0x518)

Definition at line 49 of file common/gpio.h.

◆ GPIO_EVENT_IN

#define GPIO_EVENT_IN (   n)    MMIO32(GPIOTE_BASE + 0x100 + 0x4 * (n))

Definition at line 131 of file common/gpio.h.

◆ GPIO_EVENT_PORT

#define GPIO_EVENT_PORT   MMIO32(GPIOTE_BASE + 0x17C)

Definition at line 133 of file common/gpio.h.

◆ GPIO_IN

#define GPIO_IN   MMIO32(GPIO_BASE + 0x510)

Definition at line 46 of file common/gpio.h.

◆ GPIO_INTEN

#define GPIO_INTEN   MMIO32(GPIOTE_BASE + 0x300)

Definition at line 135 of file common/gpio.h.

◆ GPIO_INTEN_IN

#define GPIO_INTEN_IN (   n)    (1 << (n))

Definition at line 142 of file common/gpio.h.

◆ GPIO_INTEN_PORT

#define GPIO_INTEN_PORT   (1 << 31)

Definition at line 144 of file common/gpio.h.

◆ GPIO_INTENCLR

#define GPIO_INTENCLR   MMIO32(GPIOTE_BASE + 0x308)

Definition at line 137 of file common/gpio.h.

◆ GPIO_INTENSET

#define GPIO_INTENSET   MMIO32(GPIOTE_BASE + 0x304)

Definition at line 136 of file common/gpio.h.

◆ GPIO_OUT

#define GPIO_OUT   MMIO32(GPIO_BASE + 0x504)

Definition at line 42 of file common/gpio.h.

◆ GPIO_OUTCLR

#define GPIO_OUTCLR   MMIO32(GPIO_BASE + 0x50C)

Definition at line 44 of file common/gpio.h.

◆ GPIO_OUTSET

#define GPIO_OUTSET   MMIO32(GPIO_BASE + 0x508)

Definition at line 43 of file common/gpio.h.

◆ GPIO_PIN_CNF

#define GPIO_PIN_CNF (   N)    MMIO32(GPIO_BASE + 0x700 + 0x4 * (N))

Definition at line 52 of file common/gpio.h.

◆ GPIO_TASK_OUT

#define GPIO_TASK_OUT (   n)    MMIO32(GPIOTE_BASE + 0x4 * (n))

Definition at line 130 of file common/gpio.h.

◆ GPIO_TE_CONFIG

#define GPIO_TE_CONFIG (   n)    MMIO32(GPIOTE_BASE + 0x510 + 0x4 * (n))

Definition at line 139 of file common/gpio.h.

◆ GPIO_TE_CONFIG_MODE_MASK

#define GPIO_TE_CONFIG_MODE_MASK   3

Definition at line 149 of file common/gpio.h.

◆ GPIO_TE_CONFIG_MODE_SHIFT

#define GPIO_TE_CONFIG_MODE_SHIFT   0

Definition at line 148 of file common/gpio.h.

◆ GPIO_TE_CONFIG_OUTINIT

#define GPIO_TE_CONFIG_OUTINIT   (1 << 20)

Definition at line 157 of file common/gpio.h.

◆ GPIO_TE_CONFIG_POLARITY_MASK

#define GPIO_TE_CONFIG_POLARITY_MASK   3

Definition at line 155 of file common/gpio.h.

◆ GPIO_TE_CONFIG_POLARITY_SHIFT

#define GPIO_TE_CONFIG_POLARITY_SHIFT   16

Definition at line 154 of file common/gpio.h.

◆ GPIO_TE_CONFIG_PSEL_MASK

#define GPIO_TE_CONFIG_PSEL_MASK   0x1f

Definition at line 152 of file common/gpio.h.

◆ GPIO_TE_CONFIG_PSEL_SHIFT

#define GPIO_TE_CONFIG_PSEL_SHIFT   8

Definition at line 151 of file common/gpio.h.

◆ GPIO_TE_MODE_DISABLED

#define GPIO_TE_MODE_DISABLED   0

Definition at line 159 of file common/gpio.h.

◆ GPIO_TE_MODE_EVENT

#define GPIO_TE_MODE_EVENT   1

Definition at line 160 of file common/gpio.h.

◆ GPIO_TE_MODE_TASK

#define GPIO_TE_MODE_TASK   3

Definition at line 161 of file common/gpio.h.

◆ GPIO_TE_OUTINIT_HIGH

#define GPIO_TE_OUTINIT_HIGH   1

Definition at line 169 of file common/gpio.h.

◆ GPIO_TE_OUTINIT_LOW

#define GPIO_TE_OUTINIT_LOW   0

Definition at line 168 of file common/gpio.h.

◆ GPIO_TE_POLARITY_HI_TO_LO

#define GPIO_TE_POLARITY_HI_TO_LO   2

Definition at line 165 of file common/gpio.h.

◆ GPIO_TE_POLARITY_LO_TO_HI

#define GPIO_TE_POLARITY_LO_TO_HI   1

Definition at line 164 of file common/gpio.h.

◆ GPIO_TE_POLARITY_NONE

#define GPIO_TE_POLARITY_NONE   0

Definition at line 163 of file common/gpio.h.

◆ GPIO_TE_POLARITY_TOGGLE

#define GPIO_TE_POLARITY_TOGGLE   3

Definition at line 166 of file common/gpio.h.