101 IOPORT_SENSE_LEVEL_LOW,
102 IOPORT_SENSE_LEVEL_HIGH,
109 IOPORT_SENSE_LEVEL_LOW,
121 # include "xmega/ioport.h" 122 # if defined(IOPORT_XMEGA_COMPAT) 123 # include "xmega/ioport_compat.h" 126 # include "mega/ioport.h" 128 # include "uc3/ioport.h" 131 # include "sam/ioport_gpio.h" 132 # elif (SAMD20 | SAMD21 | SAML21| SAMR34 |SAMR35) 133 # include "sam0/ioport.h"
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.
static void ioport_set_pin_mode(ioport_pin_t pin, ioport_mode_t mode)
Set pin mode for one single IOPORT pin.
static void ioport_set_pin_level(ioport_pin_t pin, bool level)
Set an IOPORT pin to a specified logical value.
static __always_inline void arch_ioport_toggle_pin_level(ioport_pin_t pin)
static __always_inline ioport_port_mask_t arch_ioport_pin_to_mask(ioport_pin_t pin)
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.
static __always_inline void arch_ioport_set_port_dir(ioport_port_t port, ioport_port_mask_t mask, enum ioport_direction group_direction)
static __always_inline void arch_ioport_disable_pin(ioport_pin_t pin)
ioport_direction
IOPORT pin directions.
static __always_inline void arch_ioport_set_pin_level(ioport_pin_t pin, bool level)
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.
static void ioport_reset_pin_mode(ioport_pin_t pin)
Reset pin mode configuration for a single IOPORT pin.
static void ioport_enable_port(ioport_port_t port, ioport_port_mask_t mask)
Enable multiple pins in a single IOPORT port.
static __always_inline ioport_port_t arch_ioport_pin_to_port_id(ioport_pin_t pin)
static __always_inline void arch_ioport_set_pin_dir(ioport_pin_t pin, enum ioport_direction dir)
uint32_t ioport_port_mask_t
static __always_inline void arch_ioport_enable_port(ioport_port_t port, ioport_port_mask_t mask)
static __always_inline bool arch_ioport_get_pin_level(ioport_pin_t pin)
static bool ioport_get_pin_level(ioport_pin_t pin)
Get current value of an IOPORT pin, which has been configured as an input.
static __always_inline void arch_ioport_set_pin_sense_mode(ioport_pin_t pin, enum ioport_sense pin_sense)
static __always_inline void arch_ioport_set_port_level(ioport_port_t port, ioport_port_mask_t mask, enum ioport_value level)
Commonly used includes, types and macros.
SAM architecture specific IOPORT service implementation header file.
static void ioport_init(void)
Initializes the IOPORT service, ready for use.
Atmel part identification macros.
static void ioport_toggle_pin_level(ioport_pin_t pin)
Toggle the value of an IOPORT pin, which has previously configured as an output.
ioport_value
IOPORT levels.
static __always_inline ioport_port_mask_t arch_ioport_get_port_level(ioport_port_t port, ioport_port_mask_t mask)
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.
static __always_inline void arch_ioport_enable_pin(ioport_pin_t pin)
static __always_inline void arch_ioport_set_port_sense_mode(ioport_port_t port, ioport_port_mask_t mask, enum ioport_sense pin_sense)
static __always_inline void arch_ioport_init(void)
static void ioport_disable_port(ioport_port_t port, ioport_port_mask_t mask)
Disable multiple pins in a single IOPORT port.
static __always_inline void arch_ioport_set_port_mode(ioport_port_t port, ioport_port_mask_t mask, ioport_mode_t mode)
static ioport_port_t ioport_pin_to_port_id(ioport_pin_t pin)
Convert a pin ID into a its port ID.
static void ioport_set_pin_dir(ioport_pin_t pin, enum ioport_direction dir)
Set direction for a single IOPORT pin.
static void ioport_enable_pin(ioport_pin_t pin)
Enable an IOPORT pin, based on a pin created with IOPORT_CREATE_PIN().
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. configuration.
static __always_inline void arch_ioport_toggle_port_level(ioport_port_t port, ioport_port_mask_t mask)
static __always_inline void arch_ioport_disable_port(ioport_port_t port, ioport_port_mask_t mask)
static __always_inline void arch_ioport_set_pin_mode(ioport_pin_t pin, ioport_mode_t mode)
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...
static void ioport_disable_pin(ioport_pin_t pin)
Disable IOPORT pin, based on a pin created with IOPORT_CREATE_PIN().
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.
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.
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.