Provides input, output, and interrupt support for an MCUXpresso GPIO pin.
Interrupts are provided by IRQ "A" on the GPIO module.
Class-specific behaviors:
Enable
is 0 (inactive).Disable
has no actual effect; unlike McuxpressoDigitalOut, the GPIO is not reverted to an input.IOPCTL
) via the Input Buffer Enable (IBENA
) bit.IIENA
) bit on the corresponding IO Pad Controller (IOPCTL
) register. Public Member Functions | |
McuxpressoDigitalInOutInterrupt (GPIO_Type *base, uint32_t port, uint32_t pin, bool output) | |
bool | is_enabled () const |
Returns true if the line is enabled (in any state). | |
![]() | |
Status | ClearInterruptHandler () |
Status | DisableInterruptHandler () |
Status | EnableInterruptHandler () |
Result< State > | GetState () |
Result< bool > | IsStateActive () |
Status | SetInterruptHandler (InterruptTrigger trigger, InterruptHandler &&handler) |
Status | SetState (State state) |
Status | SetStateActive () |
Status | SetStateInactive () |
![]() | |
constexpr bool | provides_input () const |
constexpr bool | provides_output () const |
constexpr bool | provides_interrupt () const |
Result< State > | GetState () |
Status | SetState (State state) |
Result< bool > | IsStateActive () |
Status | SetStateActive () |
Status | SetStateInactive () |
Status | SetInterruptHandler (InterruptTrigger trigger, InterruptHandler &&handler) |
Status | ClearInterruptHandler () |
Status | EnableInterruptHandler () |
Status | DisableInterruptHandler () |
Status | Enable () |
Status | Disable () |
Private Member Functions | |
pw::Status | DoEnable (bool enable) override |
pw::Result< pw::digital_io::State > | DoGetState () override |
pw::Status | DoSetState (pw::digital_io::State state) override |
pw::Status | DoSetInterruptHandler (pw::digital_io::InterruptTrigger trigger, pw::digital_io::InterruptHandler &&handler) override |
pw::Status | DoEnableInterruptHandler (bool enable) override |
Friends | |
void | GPIO_INTA_DriverIRQHandler () |
Additional Inherited Members | |
![]() | |
constexpr | Item ()=default |