libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
gpio.c File Reference
Include dependency graph for gpio.c:

Go to the source code of this file.

Macros

#define GPIO_LOCK_UNLOCK_CODE   0x4C4F434B
 
#define PCTL_AF(pin, af)   ((af) << ((pin) << 2))
 
#define PCTL_MASK(pin)   PCTL_AF((pin), 0xf)
 

Functions

void gpio_enable_ahb_aperture (void)
 Enable access to GPIO registers via the AHB aperture. More...
 
void gpio_mode_setup (uint32_t gpioport, enum gpio_mode mode, enum gpio_pullup pullup, uint8_t gpios)
 Configure a group of pins. More...
 
void gpio_set_output_config (uint32_t gpioport, enum gpio_output_type otype, enum gpio_drive_strength drive, uint8_t gpios)
 Configure output parameters of a group of pins. More...
 
void gpio_set_af (uint32_t gpioport, uint8_t alt_func_num, uint8_t gpios)
 Multiplex group of pins to the given alternate function. More...
 
void gpio_unlock_commit (uint32_t gpioport, uint8_t gpios)
 Unlock the commit control of a special function pin. More...
 
void gpio_toggle (uint32_t gpioport, uint8_t gpios)
 Toggle a Group of Pins. More...
 
void gpio_configure_trigger (uint32_t gpioport, enum gpio_trigger trigger, uint8_t gpios)
 Configure the interrupt trigger on the given GPIO pins. More...
 
void gpio_enable_interrupts (uint32_t gpioport, uint8_t gpios)
 Enable interrupts on specified GPIO pins. More...
 
void gpio_disable_interrupts (uint32_t gpioport, uint8_t gpios)
 Disable interrupts on specified GPIO pins. More...