InterruptHandler Class Reference

yasimavr: InterruptHandler Class Reference
yasimavr
Loading...
Searching...
No Matches
InterruptHandler Class Referenceabstract

Abstract interface to a interrupt controller. More...

#include <sim_interrupt.h>

Inheritance diagram for InterruptHandler:
AbstractInterruptFlag ArchAVR_ExtInt ArchAVR_NVM ArchAVR_WDT ArchXT_Port::_InterruptHandler ArchXT_SPI::_InterruptHandler InterruptFlag

Public Member Functions

 InterruptHandler ()
 
virtual ~InterruptHandler ()
 
void raise_interrupt (int_vect_t vector) const
 
void cancel_interrupt (int_vect_t vector) const
 
bool interrupt_raised (int_vect_t vector) const
 
virtual bool interrupt_ack_handler (int_vect_t vector)=0
 
 InterruptHandler (const InterruptHandler &)=delete
 
InterruptHandleroperator= (const InterruptHandler &)=delete
 

Friends

class InterruptController
 

Detailed Description

Abstract interface to a interrupt controller.

It allows to raise (or cancel) a single interrupt. The same handler can be used for several interrupts.

See also
AVR_InterruptController

Constructor & Destructor Documentation

◆ InterruptHandler() [1/2]

InterruptHandler::InterruptHandler ( )

◆ ~InterruptHandler()

InterruptHandler::~InterruptHandler ( )
virtual

◆ InterruptHandler() [2/2]

InterruptHandler::InterruptHandler ( const InterruptHandler )
delete

Member Function Documentation

◆ cancel_interrupt()

void InterruptHandler::cancel_interrupt ( int_vect_t  vector) const

◆ interrupt_ack_handler()

virtual bool InterruptHandler::interrupt_ack_handler ( int_vect_t  vector)
pure virtual

Callback method called when a vector has been ACK'ed by the CPU. (i.e. the CPU is about to jump to the corresponding vector table entry) The returned boolean determines the behaviour once the CPU has jumped to the vector.

Returns
true if the interrupt should be cleared, false if it should stay raised

Implemented in ArchAVR_ExtInt, ArchAVR_NVM, ArchAVR_WDT, and AbstractInterruptFlag.

◆ interrupt_raised()

bool InterruptHandler::interrupt_raised ( int_vect_t  vector) const

◆ operator=()

InterruptHandler & InterruptHandler::operator= ( const InterruptHandler )
delete

◆ raise_interrupt()

void InterruptHandler::raise_interrupt ( int_vect_t  vector) const

Friends And Related Symbol Documentation

◆ InterruptController

friend class InterruptController
friend

The documentation for this class was generated from the following files: