MiraOS GPIO driver.
More...
#include <stdint.h>
#include "hcl_typedefs.h"
Go to the source code of this file.
|
void | mira_gpio_init (MiraGpioPorts port, uint8_t pin, MiraGpioPinMode mode, MiraGpioPullMode pull_mode) |
| Initialize a GPIO pin. More...
|
|
uint8_t | mira_gpio_read (MiraGpioPorts port, uint8_t pin) |
| Read an input pin. More...
|
|
void | mira_gpio_set (MiraGpioPorts port, uint8_t pin) |
| Set an output pin (logic high output). More...
|
|
void | mira_gpio_clear (MiraGpioPorts port, uint8_t pin) |
| Clear an output pin (logic low output). More...
|
|
void | mira_gpio_setup_interrupt (MiraGpioPorts port, uint8_t pin, MiraGpioInterruptType irq_type, MiraGpioCallbackType callback) |
| Configure an GPIO interrupt. More...
|
|
void | mira_gpio_enable_interrupt (MiraGpioPorts port, uint8_t pin) |
| Enables an GPIO interrupt. More...
|
|
void | mira_gpio_disable_interrupt (MiraGpioPorts port, uint8_t pin) |
| Disables an GPIO interrupt. More...
|
|
MiraOS GPIO driver.
- Author
- LumenRadio AB
- Date
- 5 March 2016 The MiraOS library provides functions for controlling the Mira radio module, sending/receiving messages, controlling peripherals, etc.
- See also
- http://docs.lumenrad.io/mira
typedef void(* MiraGpioCallbackType) (uint8_t port, uint8_t pin) |
Type definition for callbacks invoked by the GPIO ISRs.
This is the prototype of a function pointer passed to mira_gpio_setup_interrupt(). These callbacks are registered on a port/pin basis. When a GPIO port generates an interrupt, if a callback has been registered for the port/pin combination, the ISR will invoke it. The ISR will pass the port/pin as arguments in that call, so that a developer can re-use the same callback for multiple port/pin combinations
- Parameters
-
port | The port that triggered the GPIO interrupt. |
pin | The pin that triggered the interrupt |
- Returns
- void
GPIO edge trigger.
Enumerator |
---|
MiraGpioIrqRisingEdge |
Interrupt triggers on rising edge
|
MiraGpioIrqFallingEdge |
Interrupt triggers on falling edge
|
MiraGpioIrqBothEdges |
Interrupt triggers on both rising and falling edges
|
GPIO pin mode.
Enumerator |
---|
MiraInputPin |
|
MiraOutputPin |
|
GPIO ports.
Enumerator |
---|
MiraGpioPortA |
|
MiraGpioPortB |
|
MiraGpioPortC |
|
MiraGpioPortD |
|
GPIO pin pullup/pulldown mode.
Enumerator |
---|
MiraPullUp |
|
MiraPullDown |
|
MiraNoPull |
|
Clear an output pin (logic low output).
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
- Returns
- void
void mira_gpio_disable_interrupt |
( |
MiraGpioPorts |
port, |
|
|
uint8_t |
pin |
|
) |
| |
Disables an GPIO interrupt.
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
- Returns
- void
void mira_gpio_enable_interrupt |
( |
MiraGpioPorts |
port, |
|
|
uint8_t |
pin |
|
) |
| |
Enables an GPIO interrupt.
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
- Returns
- void
Initialize a GPIO pin.
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
mode | Input or output |
pull_mode | Pull-up/pull-down mode |
- Returns
- void
Read an input pin.
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
- Returns
- logic level at input pin
Set an output pin (logic high output).
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
- Returns
- void
Configure an GPIO interrupt.
- Parameters
-
port | The port where the pin is located (Port A, B, C) |
pin | Pin number within the port |
irq_type | The interrupt type (falling, rising or both edges) |
callback | The callback function that will be invoked by the ISR |
- Returns
- void