Query: gpio_pin_get
OS: freebsd
Section: 3
Links: freebsd man pages all man pages
Forums: unix linux community forum categories
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
GPIO(3) BSD Library Functions Manual GPIO(3)NAMEgpio_open, gpio_close -- library to handle GPIO pinsLIBRARYlibrary ``libgpio''SYNOPSIS#include <libgpio.h> gpio_handle_t gpio_open(unsigned int unit); gpio_handle_t gpio_open_device(const char *device); void gpio_close(gpio_handle_t handle); int gpio_pin_list(gpio_handle_t handle, gpio_config_t **pcfgs); int gpio_pin_config(gpio_handle_t handle, gpio_config *cfg); int gpio_pin_set_flags(gpio_handle_t handle, gpio_config_t *cfg); gpio_value_t gpio_pin_get(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_set(gpio_handle_t handle, gpio_pin_t pin, gpio_value_t value); int gpio_pin_toggle(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_low(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_high(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_input(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_output(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_opendrain(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_pushpull(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_tristate(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_pullup(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_pulldown(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_invin(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_invout(gpio_handle_t handle, gpio_pin_t pin); int gpio_pin_pulsate(gpio_handle_t handle, gpio_pin_t pin);DESCRIPTIONThe libgpio library provides an interface to configure GPIO pins. The library operates with a gpio_handle_t opaque type which can be created with gpio_open() or gpio_open_device(). When no more GPIO operations are needed, this handle can be destroyed with gpio_close(). 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's 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_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().EXAMPLESThe following example shows how to configure pin 16 as output and then drive it high: #include <err.h> #include <libgpio.h> gpio_handle_t handle; handle = gpio_open(0); if (handle == GPIO_HANDLE_INVALID) 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.SEE ALSOgpiobus(4), gpioctl(8)HISTORYThe libgpio library first appeared in FreeBSD 11.0.AUTHORSThe libgpio library was implemented by Rui Paulo <rpaulo@FreeBSD.org>.BSDNovember 17, 2014 BSD
Related Man Pages |
---|
gpio_pin_set(3) - freebsd |
gpio_pin_pulldown(3) - freebsd |
gpio_open(3) - freebsd |
gpio_pin_invout(3) - freebsd |
gpio_pin_low(3) - freebsd |
Similar Topics in the Unix Linux Community |
---|
How to set the DSR pin using a C Code |