Main index | Section 3 | Options |
#include <sys/types.h>
#include <libgpio.h>
To get a list of all available pins, one can call gpio_pin_list(). This function takes a pointer to a gpio_config_t which is dynamically allocated. This pointer should be freed with free(3) when it is no longer necessary.
The function gpio_pin_config() retrieves the current configuration of a pin. The pin number should be passed in via the g_pin variable which is part of the gpio_config_t structure.
The function gpio_pin_set_name() sets the name used to describe a pin.
The function gpio_pin_set_flags() configures a pin with the flags passed in by the gpio_config_t structure. The pin number should also be passed in through the g_pin variable. All other structure members will be ignored by this function. The list of flags can be found in /usr/include/sys/gpio.h.
The get or set the state of a GPIO pin, the functions gpio_pin_get() and gpio_pin_set() are available, respectively. To toggle the state, use gpio_pin_toggle().
The functions gpio_pin_low() and gpio_pin_high() are wrappers around gpio_pin_set().
The functions gpio_pin_input(), gpio_pin_output(), gpio_pin_opendrain(), gpio_pin_pushpull(), gpio_pin_tristate(), gpio_pin_pullup(), gpio_pin_pulldown(), gpio_pin_invin(), gpio_pin_invout() and gpio_pin_pulsate() are wrappers around gpio_pin_set_flags().
#include <sys/types.h> #include <err.h> #include <libgpio.h>gpio_handle_t handle;
handle = gpio_open(0); if (handle == GPIO_INVALID_HANDLE) err(1, "gpio_open failed"); gpio_pin_output(handle, 16); gpio_pin_high(handle, 16); gpio_close(handle);
The following example shows how to get a configuration of a pin:
gpio_config_t cfg;cfg.g_pin = 32; gpio_pin_config(handle, &cfg);
The structure will contain the name of the pin and its flags.
GPIO (3) | July 1, 2015 |
Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
“ | Like a classics radio station whose play list spans decades, Unix simultaneously exhibits its mixed and dated heritage. There's Clash-era graphics interfaces; Beatles-era two-letter command names; and systems programs (for example, ps) whose terse and obscure output was designed for slow teletypes; Bing Crosby-era command editing (# and @ are still the default line editing commands), and Scott Joplin-era core dumps. | ” |
— The Unix Haters' handbook |