Wrapper for accessing digital I/O ports.
More...
|
file | pin.h |
| Wrapper for accessing digital I/O ports.
|
|
|
struct | Avr::DigitalIo< DDR, PORT, PIN > |
| Digital I/O register configuration. More...
|
|
struct | Avr::OutputConfiguration< TDigitalIo, pinNumber > |
| Output configuration parameter for pin (normal mode). More...
|
|
struct | Avr::OutputConfigurationInverted< TDigitalIo, pinNumber > |
| Output configuration parameter for pin (for inverted output pins / active low configuration). More...
|
|
struct | Avr::OutputConfigurationDisabled< TDigitalIo, pinNumber > |
| Output configuration parameter for pin (disabled). More...
|
|
struct | Avr::InputConfiguration< TDigitalIo, pinNumber > |
| Input configuration parameter for pin (normal mode). More...
|
|
struct | Avr::InputConfigurationDisabled< TDigitalIo, pinNumber > |
| Input configuration parameter for pin (disabled). More...
|
|
struct | Avr::OutputPin< TDigitalIo, pinNumber > |
| Output pin (normal mode). More...
|
|
struct | Avr::OutputPinInverted< TDigitalIo, pinNumber > |
| Inverted output pin (active low configuration). More...
|
|
struct | Avr::InputPin< TDigitalIo, pinNumber > |
| Input pin. More...
|
|
struct | Avr::InputOutputPin< TDigitalIo, pinNumber > |
| Input / Output pin (initially configured as output pin). More...
|
|
Wrapper for accessing digital I/O ports.
This module provides convenient access to digital I/O ports using the following classes: Avr::InputPin, Avr::OutputPin, Avr::OutputPinInverted, Avr::InputOutputPin.
If needed, the set of predefined input / output pins can be extended using the template configuration classes: Avr::OutputConfiguration, Avr::OutputConfigurationInverted, Avr::OutputConfigurationDisabled, Avr::InputConfiguration, Avr::InputConfigurationDisabled.
In addition this module provides access to common digital I/O registers for the usage with the classes mentioned above: Avr::DigitalIoA, Avr::DigitalIoB, Avr::DigitalIoC, Avr::DigitalIoD.
Usage:
while (true) {
_delay_ms(1000);
}
◆ Avr::DigitalIo
template<typename DDR, typename PORT, typename PIN>
struct Avr::DigitalIo< DDR, PORT, PIN >
Digital I/O register configuration.
- Template Parameters
-
DDR | The Data Direction Register. |
PORT | The Data Register. |
PIN | The Input pins Register. |
◆ Avr::OutputConfiguration
struct Avr::OutputConfiguration |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::OutputConfiguration< TDigitalIo, pinNumber >
Output configuration parameter for pin (normal mode).
- Template Parameters
-
TDigitalIo | Digital I/O register configuration. |
pinNumber | Output pin. |
Public Member Functions |
void | on () |
| Turns output pin on. More...
|
|
void | off () |
| Turns output pin off. More...
|
|
void | set (bool enable) |
| Sets output pin to given state. More...
|
|
void | flip () |
| Flips output pin. More...
|
|
◆ on()
template<class TDigitalIo , uint8_t pinNumber>
◆ off()
template<class TDigitalIo , uint8_t pinNumber>
◆ set()
template<class TDigitalIo , uint8_t pinNumber>
Sets output pin to given state.
- Parameters
-
enable | Value to write into output pin. |
◆ flip()
template<class TDigitalIo , uint8_t pinNumber>
◆ Avr::OutputConfigurationInverted
struct Avr::OutputConfigurationInverted |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::OutputConfigurationInverted< TDigitalIo, pinNumber >
Output configuration parameter for pin (for inverted output pins / active low configuration).
- Template Parameters
-
TDigitalIo | Digital I/O register configuration. |
pinNumber | Output pin. |
Public Member Functions |
void | on () |
| Turns output pin on. More...
|
|
void | off () |
| Turns output pin off. More...
|
|
void | set (bool enable) |
| Sets output pin to given state. More...
|
|
void | flip () |
| Flips output pin. More...
|
|
◆ on()
template<class TDigitalIo, uint8_t pinNumber>
◆ off()
template<class TDigitalIo, uint8_t pinNumber>
◆ set()
template<class TDigitalIo, uint8_t pinNumber>
Sets output pin to given state.
- Parameters
-
enable | Value to write into output pin. |
◆ flip()
template<class TDigitalIo, uint8_t pinNumber>
◆ Avr::OutputConfigurationDisabled
struct Avr::OutputConfigurationDisabled |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::OutputConfigurationDisabled< TDigitalIo, pinNumber >
Output configuration parameter for pin (disabled).
◆ Avr::InputConfiguration
struct Avr::InputConfiguration |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::InputConfiguration< TDigitalIo, pinNumber >
Input configuration parameter for pin (normal mode).
- Template Parameters
-
TDigitalIo | Digital I/O register configuration. |
pinNumber | Input pin. |
Public Member Functions |
bool | isSet () const |
| Determines if the input pin is set. More...
|
|
◆ isSet()
template<class TDigitalIo , uint8_t pinNumber>
Determines if the input pin is set.
- Returns
true
if the input pin is set, false
otherwise.
◆ Avr::InputConfigurationDisabled
struct Avr::InputConfigurationDisabled |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::InputConfigurationDisabled< TDigitalIo, pinNumber >
Input configuration parameter for pin (disabled).
◆ Avr::OutputPin
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::OutputPin< TDigitalIo, pinNumber >
Output pin (normal mode).
◆ Avr::OutputPinInverted
struct Avr::OutputPinInverted |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::OutputPinInverted< TDigitalIo, pinNumber >
Inverted output pin (active low configuration).
◆ Avr::InputPin
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::InputPin< TDigitalIo, pinNumber >
Input pin.
|
bool | isSet () const |
| Determines if the input pin is set. More...
|
|
◆ Avr::InputOutputPin
struct Avr::InputOutputPin |
template<class TDigitalIo, uint8_t pinNumber>
struct Avr::InputOutputPin< TDigitalIo, pinNumber >
Input / Output pin (initially configured as output pin).
◆ setOutput()
template<class TDigitalIo , uint8_t pinNumber>
◆ setInput()
template<class TDigitalIo , uint8_t pinNumber>
◆ DigitalIoA
Digital I/O Port A register configuration.
◆ DigitalIoB
Digital I/O Port B register configuration.
◆ DigitalIoC
Digital I/O Port C register configuration.
◆ DigitalIoD
Digital I/O Port D register configuration.