avr-classes
Classes | Public Types | Public Member Functions | List of all members
ExternalInterrupt Class Referenceabstract

#include <externalinterrupt.h>

Inheritance diagram for ExternalInterrupt:
Int0 Int1 Int2

Classes

class  InterruptHandler
 

Public Types

enum  TriggerMode { LOW_LEVEL, ANY_CHANGE, FALLING_EDGE, RISING_EDGE }
 

Public Member Functions

virtual void setTriggerMode (TriggerMode mode)=0
 
virtual void enableInterrupt (bool state)=0
 
virtual void setInterruptHandler (InterruptHandler *handler)=0
 

Detailed Description

Class to manage the external interrupt sources provided by the AVR (INT0, INT1, etc.).

Note
Managing the interrupt sources is independent from controlling the associated GPIO pin. To control the actual pin, a separate instance of GpioPortPin is needed. It can be configured as input to react on external circuitry, or as output to trigger interrupts from software.

Member Enumeration Documentation

◆ TriggerMode

Trigger modes.

Enumerator
LOW_LEVEL 

Pin is held at low level.

ANY_CHANGE 

Pin changes its level.

FALLING_EDGE 

Pin changes from high to low.

RISING_EDGE 

Pin changes from low to high.

Member Function Documentation

◆ enableInterrupt()

virtual void ExternalInterrupt::enableInterrupt ( bool  state)
pure virtual

Enables or disabled the interrupt.

Parameters
stateTrue to enable interrupt, false to disable.

Implemented in Int2, Int0, and Int1.

◆ setInterruptHandler()

virtual void ExternalInterrupt::setInterruptHandler ( InterruptHandler handler)
pure virtual

Sets callback for interrupts.

Parameters
handlerPointer to class implementing the interrupt handler interface.

Implemented in Int2, Int0, and Int1.

◆ setTriggerMode()

virtual void ExternalInterrupt::setTriggerMode ( TriggerMode  mode)
pure virtual

Sets the trigger mode.

Parameters
modeTrigger mode to set.

Implemented in Int2, Int0, and Int1.