![]() |
NEORV32 Software Framework Documentation
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 access (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). |