Common IOPORT service main header file for AVR, UC3 and ARM architectures.
Copyright (c) 2012-2020 Microchip Technology Inc. and its subsidiaries.
Enumerations | |
enum | ioport_direction { IOPORT_DIR_INPUT, IOPORT_DIR_OUTPUT } |
IOPORT pin directions. More... | |
enum | ioport_sense { IOPORT_SENSE_BOTHEDGES, IOPORT_SENSE_RISING, IOPORT_SENSE_FALLING } |
enum | ioport_value { IOPORT_PIN_LEVEL_LOW, IOPORT_PIN_LEVEL_HIGH } |
IOPORT levels. More... | |
Functions | |
static void | ioport_disable_pin (ioport_pin_t pin) |
Disable IOPORT pin, based on a pin created with IOPORT_CREATE_PIN(). More... | |
static void | ioport_disable_port (ioport_port_t port, ioport_port_mask_t mask) |
Disable multiple pins in a single IOPORT port. More... | |
static void | ioport_enable_pin (ioport_pin_t pin) |
Enable an IOPORT pin, based on a pin created with IOPORT_CREATE_PIN(). More... | |
static void | ioport_enable_port (ioport_port_t port, ioport_port_mask_t mask) |
Enable multiple pins in a single IOPORT port. More... | |
static bool | ioport_get_pin_level (ioport_pin_t pin) |
Get current value of an IOPORT pin, which has been configured as an input. More... | |
static ioport_port_mask_t | ioport_get_port_level (ioport_pin_t port, ioport_port_mask_t mask) |
Get current value of several IOPORT pins in a single port, which have been configured as an inputs. More... | |
static void | ioport_init (void) |
Initializes the IOPORT service, ready for use. More... | |
static ioport_port_mask_t | ioport_pin_to_mask (ioport_pin_t pin) |
Convert a pin ID into a bitmask mask for the given pin on its port. More... | |
static ioport_port_t | ioport_pin_to_port_id (ioport_pin_t pin) |
Convert a pin ID into a its port ID. More... | |
static void | ioport_reset_pin_mode (ioport_pin_t pin) |
Reset pin mode configuration for a single IOPORT pin. More... | |
static void | ioport_reset_port_mode (ioport_port_t port, ioport_port_mask_t mask) |
Reset multiple pin modes in a specified IOPORT port to defaults. More... | |
static void | ioport_set_pin_dir (ioport_pin_t pin, enum ioport_direction dir) |
Set direction for a single IOPORT pin. More... | |
static void | ioport_set_pin_level (ioport_pin_t pin, bool level) |
Set an IOPORT pin to a specified logical value. More... | |
static void | ioport_set_pin_mode (ioport_pin_t pin, ioport_mode_t mode) |
Set pin mode for one single IOPORT pin. More... | |
static void | ioport_set_pin_sense_mode (ioport_pin_t pin, enum ioport_sense pin_sense) |
Set the pin sense mode of a single IOPORT pin. More... | |
static void | ioport_set_port_dir (ioport_port_t port, ioport_port_mask_t mask, enum ioport_direction dir) |
Set I/O direction for a group of pins in a single IOPORT. More... | |
static void | ioport_set_port_level (ioport_port_t port, ioport_port_mask_t mask, enum ioport_value level) |
Set a group of IOPORT pins in a single port to a specified logical value. More... | |
static void | ioport_set_port_mode (ioport_port_t port, ioport_port_mask_t mask, ioport_mode_t mode) |
Set multiple pin modes in a single IOPORT port, such as pull-up, pull-down, etc. More... | |
static void | ioport_set_port_sense_mode (ioport_port_t port, ioport_port_mask_t mask, enum ioport_sense pin_sense) |
Set the pin sense mode of a multiple IOPORT pins on a single port. More... | |
static void | ioport_toggle_pin_level (ioport_pin_t pin) |
Toggle the value of an IOPORT pin, which has previously configured as an output. More... | |
static void | ioport_toggle_port_level (ioport_port_t port, ioport_port_mask_t mask) |
Toggle the values of several IOPORT pins located in a single port. More... | |