|  | NEORV32 API Reference
    The NEORV32 RISC-V Processor | 
General purpose input/output port unit (GPIO) HW driver header file. More...
#include <stdint.h>Go to the source code of this file.
| Data Structures | |
| struct | neorv32_gpio_t | 
| Macros | |
| IO Device: General Purpose Input/Output Port Unit (GPIO) | |
| #define | NEORV32_GPIO ((neorv32_gpio_t*) (NEORV32_GPIO_BASE)) | 
| Enumerations | |
| Trigger types | |
| enum | GPIO_TRIGGER_enum { GPIO_TRIG_LEVEL_LOW = 0b00 , GPIO_TRIG_LEVEL_HIGH = 0b01 , GPIO_TRIG_EDGE_FALLING = 0b10 , GPIO_TRIG_EDGE_RISING = 0b11 } | 
| Functions | |
| Prototypes | |
| int | neorv32_gpio_available (void) | 
| void | neorv32_gpio_pin_set (int pin, int value) | 
| void | neorv32_gpio_pin_toggle (int pin) | 
| uint32_t | neorv32_gpio_pin_get (int pin) | 
| void | neorv32_gpio_port_set (uint32_t pin_mask) | 
| void | neorv32_gpio_port_toggle (uint32_t pin_mask) | 
| uint32_t | neorv32_gpio_port_get (void) | 
| void | neorv32_gpio_irq_setup (int pin, int trigger) | 
| void | neorv32_gpio_irq_enable (uint32_t pin_mask) | 
| void | neorv32_gpio_irq_disable (uint32_t pin_mask) | 
| uint32_t | neorv32_gpio_irq_get (void) | 
| void | neorv32_gpio_irq_clr (uint32_t pin_mask) | 
General purpose input/output port unit (GPIO) HW driver header file.
| #define NEORV32_GPIO ((neorv32_gpio_t*) (NEORV32_GPIO_BASE)) | 
GPIO module hardware handle (neorv32_gpio_t)
| int neorv32_gpio_available | ( | void | ) | 
Check if GPIO unit was synthesized.
| void neorv32_gpio_irq_clr | ( | uint32_t | clr_mask | ) | 
Clear pending GPIO input interrupts via bit mask.
| [in] | clr_mask | Clear mask (bit high = clear according pending interrupt). | 
| void neorv32_gpio_irq_disable | ( | uint32_t | pin_mask | ) | 
Disable input pin interrupt(s).
| [in] | pin_mask | Pin-IRQ enable mask (set to 1 to disable the according pin). | 
| void neorv32_gpio_irq_enable | ( | uint32_t | pin_mask | ) | 
Enable input pin interrupt(s).
| [in] | pin_mask | Pin-IRQ enable mask (set to 1 to enable the according pin). | 
| uint32_t neorv32_gpio_irq_get | ( | void | ) | 
Get currently pending GPIO input interrupts.
| [in] | Pending | inputs (bit mask; high = pending). | 
| void neorv32_gpio_irq_setup | ( | int | pin, | 
| int | trigger ) | 
Configure pin interrupt trigger.
| [in] | pin | Input pin select (0..31). | 
| [in] | trigger | Trigger select (GPIO_TRIGGER_enum). | 
| uint32_t neorv32_gpio_pin_get | ( | int | pin | ) | 
Get single pin of GPIO's input port.
| [in] | pin | Input pin to be read (0..31). | 
| void neorv32_gpio_pin_set | ( | int | pin, | 
| int | value ) | 
Set single pin of GPIO's output port.
| [in] | pin | Output pin number to be set (0..31). | 
| [in] | value | Set pint high (1) or low (0). | 
| void neorv32_gpio_pin_toggle | ( | int | pin | ) | 
Toggle single pin of GPIO's output port.
| [in] | pin | Output pin number to be toggled (0..31). | 
| uint32_t neorv32_gpio_port_get | ( | void | ) | 
Get complete GPIO input port.
| void neorv32_gpio_port_set | ( | uint32_t | pin_mask | ) | 
Set complete GPIO output port.
| [in] | pin_mask | New output port value (32-bit). | 
| void neorv32_gpio_port_toggle | ( | uint32_t | pin_mask | ) | 
Toggle bit in entire GPIO output port.
| [in] | pin_mask | Bit mask; set bits will toggle the according output pins (32-bit). |