Low-level GPIO peripheral driver interface definitions. More...
Low-level GPIO peripheral driver interface definitions.
Definition in file gpio.h.
#include <limits.h>
#include "periph_cpu.h"
#include "periph_conf.h"
Go to the source code of this file.
Data Structures | |
struct | gpio_isr_ctx_t |
Default interrupt context for GPIO pins. More... | |
Macros | |
#define | GPIO_PIN(x, y) ((gpio_t)((x & 0) | y)) |
Convert (port, pin) tuple to gpio_t value. | |
#define | GPIO_UNDEF ((gpio_t)(UINT_MAX)) |
GPIO pin not defined. | |
Typedefs | |
typedef unsigned int | gpio_t |
GPIO type identifier. | |
typedef void(* | gpio_cb_t) (void *arg) |
Signature of event callback functions triggered from interrupts. More... | |
Enumerations | |
enum | gpio_mode_t { GPIO_IN = GPIOHANDLE_REQUEST_INPUT, GPIO_IN_PD = GPIOHANDLE_REQUEST_INPUT | GPIOHANDLE_REQUEST_PULL_DOWN, GPIO_IN_PU = GPIOHANDLE_REQUEST_INPUT | GPIOHANDLE_REQUEST_PULL_UP, GPIO_OUT = GPIOHANDLE_REQUEST_OUTPUT, GPIO_OD = GPIOHANDLE_REQUEST_OPEN_DRAIN, GPIO_OD_PU = GPIOHANDLE_REQUEST_OPEN_DRAIN | GPIOHANDLE_REQUEST_PULL_UP, GPIO_IN, GPIO_IN_PD, GPIO_IN_PU, GPIO_OUT, GPIO_OD, GPIO_OD_PU } |
Available pin modes. More... | |
enum | gpio_flank_t { GPIO_FALLING = GPIOEVENT_EVENT_FALLING_EDGE, GPIO_RISING = GPIOEVENT_EVENT_RISING_EDGE, GPIO_BOTH = GPIO_FALLING | GPIO_RISING, GPIO_FALLING = 0, GPIO_RISING = 1, GPIO_BOTH = 2 } |
Definition of possible active flanks for external interrupt mode. More... | |
Functions | |
int | gpio_init (gpio_t pin, gpio_mode_t mode) |
Initialize the given pin as general purpose input or output. More... | |
int | gpio_init_int (gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, gpio_cb_t cb, void *arg) |
Initialize a GPIO pin for external interrupt usage. More... | |
void | gpio_irq_enable (gpio_t pin) |
Enable pin interrupt if configured as interrupt source. More... | |
void | gpio_irq_disable (gpio_t pin) |
Disable the pin interrupt if configured as interrupt source. More... | |
int | gpio_read (gpio_t pin) |
Get the current value of the given pin. More... | |
void | gpio_set (gpio_t pin) |
Set the given pin to HIGH. More... | |
void | gpio_clear (gpio_t pin) |
Set the given pin to LOW. More... | |
void | gpio_toggle (gpio_t pin) |
Toggle the value of the given pin. More... | |
void | gpio_write (gpio_t pin, int value) |
Set the given pin to the given value. More... | |
static int | gpio_is_equal (gpio_t gpio1, gpio_t gpio2) |
Test if a GPIO pin is equal to another GPIO pin. More... | |
static int | gpio_is_valid (gpio_t gpio) |
Test if a GPIO pin is a valid pin and not declared as undefined. More... | |