ATmega328p
Hardware definitions
Loading...
Searching...
No Matches
PinFunctions.h File Reference

Pin capabilities and alternate peripheral functions. More...

#include <stdint.h>
#include "Config.h"
#include "Pin.h"
Include dependency graph for PinFunctions.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  atmega328p
 Device-specific definitions for the ATmega328P.
namespace  atmega328p::pin
 Logical pin and alternate-function definitions.
namespace  atmega328p::pin::capabilities
 Capability masks for individual logical pins.

Enumerations

enum  atmega328p::pin::Capability : uint16_t {
  atmega328p::pin::None = 0x0000U , atmega328p::pin::GPIO = 0x0001U , atmega328p::pin::PinChangeInterrupt = 0x0002U , atmega328p::pin::ADC = 0x0004U ,
  atmega328p::pin::PWM = 0x0008U , atmega328p::pin::ExternalInterrupt = 0x0010U , atmega328p::pin::SPI = 0x0020U , atmega328p::pin::USART = 0x0040U ,
  atmega328p::pin::TWI = 0x0080U , atmega328p::pin::TimerExternalClock = 0x0100U , atmega328p::pin::InputCapture = 0x0200U , atmega328p::pin::ClockOutput = 0x0400U ,
  atmega328p::pin::Reset = 0x0800U , atmega328p::pin::AnalogComparator = 0x1000U , atmega328p::pin::TimerOscillator = 0x2000U , atmega328p::pin::MainClockOscillator = 0x4000U
}
 Bit flags describing a pin's available hardware functions. More...
enum class  atmega328p::pin::Function : uint8_t {
  atmega328p::pin::GPIO , atmega328p::pin::PCINT0 , atmega328p::pin::PCINT1 , atmega328p::pin::PCINT2 ,
  atmega328p::pin::PCINT3 , atmega328p::pin::PCINT4 , atmega328p::pin::PCINT5 , atmega328p::pin::PCINT6 ,
  atmega328p::pin::PCINT7 , atmega328p::pin::PCINT8 , atmega328p::pin::PCINT9 , atmega328p::pin::PCINT10 ,
  atmega328p::pin::PCINT11 , atmega328p::pin::PCINT12 , atmega328p::pin::PCINT13 , atmega328p::pin::PCINT14 ,
  atmega328p::pin::PCINT16 , atmega328p::pin::PCINT17 , atmega328p::pin::PCINT18 , atmega328p::pin::PCINT19 ,
  atmega328p::pin::PCINT20 , atmega328p::pin::PCINT21 , atmega328p::pin::PCINT22 , atmega328p::pin::PCINT23 ,
  atmega328p::pin::CLKO , atmega328p::pin::ICP1 , atmega328p::pin::OC1A , atmega328p::pin::SS ,
  atmega328p::pin::OC1B , atmega328p::pin::MOSI , atmega328p::pin::OC2A , atmega328p::pin::MISO ,
  atmega328p::pin::SCK , atmega328p::pin::XTAL1 , atmega328p::pin::TOSC1 , atmega328p::pin::XTAL2 ,
  atmega328p::pin::TOSC2 , atmega328p::pin::ADC0 , atmega328p::pin::ADC1 , atmega328p::pin::ADC2 ,
  atmega328p::pin::ADC3 , atmega328p::pin::ADC4 , atmega328p::pin::ADC5 , atmega328p::pin::SDA ,
  atmega328p::pin::SCL , atmega328p::pin::RESET , atmega328p::pin::RXD , atmega328p::pin::TXD ,
  atmega328p::pin::INT0 , atmega328p::pin::INT1 , atmega328p::pin::OC2B , atmega328p::pin::XCK ,
  atmega328p::pin::T0 , atmega328p::pin::OC0B , atmega328p::pin::T1 , atmega328p::pin::OC0A ,
  atmega328p::pin::AIN0 , atmega328p::pin::AIN1
}
 Alternate pin function identifiers. More...
enum  : uint16_t {
  atmega328p::pin::capabilities::PB0 = 0x0603U , atmega328p::pin::capabilities::PB1 = 0x000BU , atmega328p::pin::capabilities::PB2 = 0x002BU , atmega328p::pin::capabilities::PB3 = 0x002BU ,
  atmega328p::pin::capabilities::PB4 = 0x0023U , atmega328p::pin::capabilities::PB5 = 0x0023U , atmega328p::pin::capabilities::PB6 = 0x6003U , atmega328p::pin::capabilities::PB7 = 0x6003U ,
  atmega328p::pin::capabilities::PC0 = 0x0007U , atmega328p::pin::capabilities::PC1 = 0x0007U , atmega328p::pin::capabilities::PC2 = 0x0007U , atmega328p::pin::capabilities::PC3 = 0x0007U ,
  atmega328p::pin::capabilities::PC4 = 0x0087U , atmega328p::pin::capabilities::PC5 = 0x0087U , atmega328p::pin::capabilities::PC6 = 0x0802U , atmega328p::pin::capabilities::PC6WithRSTDISBL = 0x0003U ,
  atmega328p::pin::capabilities::PD0 = 0x0043U , atmega328p::pin::capabilities::PD1 = 0x0043U , atmega328p::pin::capabilities::PD2 = 0x0013U , atmega328p::pin::capabilities::PD3 = 0x001BU ,
  atmega328p::pin::capabilities::PD4 = 0x0143U , atmega328p::pin::capabilities::PD5 = 0x010BU , atmega328p::pin::capabilities::PD6 = 0x100BU , atmega328p::pin::capabilities::PD7 = 0x1003U
}

Detailed Description

Pin capabilities and alternate peripheral functions.