ATmega644 Smart-Card
Static Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Communication::IOPin Class Reference

Class that provides functionality for the ATmega644's PinB6, such as an ISR. More...

Collaboration diagram for Communication::IOPin:
Collaboration graph

Static Public Member Functions

static void init (Communication *comm)
 Initialize the IOPin class. More...
 
static void setLevel (const bit_t bit)
 Set logical level of the Pin. More...
 
static void setDirection (const PinDir direction)
 Set the direction of the Pin. More...
 
static void setInterrupt (const bool enabled)
 Enable/disable interrupts for the Pin. More...
 

Static Private Member Functions

static void serviceRoutine () __asm__("__vector_5") __attribute__((__signal__
 Interrupt Service Routine for the IOPin. An interrupt is triggered if the logic-level of the Pin changes.
 

Private Attributes

static void __used__
 
static void __externally_visible__
 

Static Private Attributes

static CommunicationmComm
 Communication object to access the class methods & attributes.
 

Detailed Description

Class that provides functionality for the ATmega644's PinB6, such as an ISR.

Authors
Philipp Karg (phili.nosp@m.pp.k.nosp@m.arg@t.nosp@m.um.d.nosp@m.e)
Date
05.06.2022

Member Function Documentation

◆ init()

static void Communication::IOPin::init ( Communication comm)
static

Initialize the IOPin class.

  • Copy the address of the provided Communication pointer, comm to mComm.
  • Enable interrupts for Pins 8-15.
Parameters
[in]comm(Communication *): Communication pointer.

◆ setDirection()

static void Communication::IOPin::setDirection ( const PinDir  direction)
static

Set the direction of the Pin.

Parameters
[in]direction(const ::PinDir): Direction to set (PinDir::INPUT or PinDir::OUTPUT).

◆ setInterrupt()

static void Communication::IOPin::setInterrupt ( const bool  enabled)
static

Enable/disable interrupts for the Pin.

Parameters
[in]enabled(const bool): Whether interrupts should be enabled or not.

◆ setLevel()

static void Communication::IOPin::setLevel ( const bit_t  bit)
static

Set logical level of the Pin.

Parameters
[in]bit(const bit_t): Level to set (0 or 1).

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