26#include "../defines.h"
31#define BOARD_ATMEGA328P
48 inline static void init() {}
222#ifdef HAS_8_ANALOG_INPUTS
334 A0_PC0_PCI1 = D14_PC0_PCI1,
335 A1_PC1_PCI1 = D15_PC1_PCI1,
336 A2_PC2_PCI1 = D16_PC2_PCI1,
337 A3_PC3_PCI1 = D17_PC3_PCI1,
338 A4_PC4_PCI1 = D18_PC4_PCI1,
339 A5_PC5_PCI1 = D19_PC5_PCI1
373 IDLE = SLEEP_MODE_IDLE,
413 void ADC_vect(
void) SIGNAL_HANDLER;
414 void ANALOG_COMP_vect(
void) SIGNAL_HANDLER;
415 void INT0_vect(
void) SIGNAL_HANDLER;
416 void INT1_vect(
void) SIGNAL_HANDLER;
417 void PCINT0_vect(
void) SIGNAL_HANDLER;
418 void PCINT1_vect(
void) SIGNAL_HANDLER;
419 void PCINT2_vect(
void) SIGNAL_HANDLER;
420 void SPI_STC_vect(
void) SIGNAL_HANDLER;
421 void TIMER0_COMPA_vect(
void) SIGNAL_HANDLER;
422 void TIMER0_COMPB_vect(
void) SIGNAL_HANDLER;
423 void TIMER0_OVF_vect(
void) SIGNAL_HANDLER;
424 void TIMER1_CAPT_vect(
void) SIGNAL_HANDLER;
425 void TIMER1_COMPA_vect(
void) SIGNAL_HANDLER;
426 void TIMER1_COMPB_vect(
void) SIGNAL_HANDLER;
427 void TIMER1_OVF_vect(
void) SIGNAL_HANDLER;
428 void TIMER2_COMPA_vect(
void) SIGNAL_HANDLER;
429 void TIMER2_COMPB_vect(
void) SIGNAL_HANDLER;
430 void TIMER2_OVF_vect(
void) SIGNAL_HANDLER;
431 void TWI_vect(
void) SIGNAL_HANDLER;
432 void WDT_vect(
void) SIGNAL_HANDLER;
433 void USART_RX_vect(
void) SIGNAL_HANDLER;
434 void USART_TX_vect(
void) SIGNAL_HANDLER;
435 void USART_UDRE_vect(
void) SIGNAL_HANDLER;
436 void EE_READY_vect(
void) SIGNAL_HANDLER;
439#define USART0_RX_vect USART_RX_vect
440#define USART0_TX_vect USART_TX_vect
441#define USART0_UDRE_vect USART_UDRE_vect
Defines all types and constants specific to support ATmega328P MCU target.
PWMPin
Defines all digital output pins of ATmega328P, capable of PWM output.
Port
Defines all available ports of ATmega328P.
static void init()
Performs special initialization for ATmega328P, actually nothing at all.
DigitalPin
Defines all available digital input/output pins of ATmega328P, with reference to Arduino UNO pins.
@ D17_PC3
Pin PC3 (A3, D17 on Arduino UNO)
@ A4
Pin PC4 (A4, D18 on Arduino UNO)
@ D0
Pin PD0 (D0 on Arduino UNO)
@ D6_PD6
Pin PD6 (D6 on Arduino UNO)
@ D2_PD2
Pin PD2 (D2 on Arduino UNO)
@ D16_PC2
Pin PC2 (A2, D16 on Arduino UNO)
@ D15_PC1
Pin PC1 (A1, D15 on Arduino UNO)
@ D4
Pin PD4 (D4 on Arduino UNO)
@ A1
Pin PC1 (A1, D15 on Arduino UNO)
@ D14_PC0
Pin PC0 (A0, D14 on Arduino UNO)
@ D8_PB0
Pin PB0 (D8 on Arduino UNO)
@ A2_PC2
Pin PC2 (A2, D16 on Arduino UNO)
@ D11_PB3
Pin PB3 (D11 on Arduino UNO)
@ D19_PC5
Pin PC5 (A5, D19 on Arduino UNO)
@ D1
Pin PD1 (D1 on Arduino UNO)
@ LED
Shortcut for LED pin on Arduino.
@ D18_PC4
Pin PC4 (A4, D18 on Arduino UNO)
@ A3
Pin PC3 (A3, D17 on Arduino UNO)
@ D12_PB4
Pin PB4 (D12 on Arduino UNO)
@ D3_PD3
Pin PD3 (D3 on Arduino UNO)
@ D5_PD5
Pin PD5 (D5 on Arduino UNO)
@ D12
Pin PB4 (D12 on Arduino UNO)
@ D10
Pin PB2 (D10 on Arduino UNO)
@ A5_PC5
Pin PC5 (A5, D19 on Arduino UNO)
@ D4_PD4
Pin PD4 (D4 on Arduino UNO)
@ D7_PD7
Pin PD7 (D7 on Arduino UNO)
@ A1_PC1
Pin PC1 (A1, D15 on Arduino UNO)
@ A4_PC4
Pin PC4 (A4, D18 on Arduino UNO)
@ D7
Pin PD7 (D7 on Arduino UNO)
@ D9_PB1
Pin PB1 (D9 on Arduino UNO)
@ D3
Pin PD3 (D3 on Arduino UNO)
@ D0_PD0
Pin PD0 (D0 on Arduino UNO)
@ D9
Pin PB1 (D9 on Arduino UNO)
@ D8
Pin PB0 (D8 on Arduino UNO)
@ D13
Pin PB5 (D13 on Arduino UNO)
@ D11
Pin PB3 (D11 on Arduino UNO)
@ LED_PB5
Shortcut for LED pin on Arduino.
@ D2
Pin PD2 (D2 on Arduino UNO)
@ A0_PC0
Pin PC0 (A0, D14 on Arduino UNO)
@ D10_PB2
Pin PB2 (D10 on Arduino UNO)
@ A2
Pin PC2 (A2, D16 on Arduino UNO)
@ A5
Pin PC5 (A5, D19 on Arduino UNO)
@ A0
Pin PC0 (A0, D14 on Arduino UNO)
@ D1_PD1
Pin PD1 (D1 on Arduino UNO)
@ D6
Pin PD6 (D6 on Arduino UNO)
@ A3_PC3
Pin PC3 (A3, D17 on Arduino UNO)
@ D5
Pin PD5 (D5 on Arduino UNO)
@ D13_PB5
Pin PB5 (D13 on Arduino UNO)
AnalogClock
Defines available clocks of ATmega328P, used for analog input.
AnalogPin
Defines all available analog input pins of ATmega328P, with reference to Arduino UNO pins.
@ TEMP
Temperature sensor.
@ BANDGAP
Bandgap reference.
InterruptPin
Defines all digital output pins of ATmega328P, usable as pin change interrupt (PCI) pins.
USART
Defines all USART modules of ATmega328P, actually only one.
Timer
Defines all timers available for ATmega328P.
ExternalInterruptPin
Defines all digital output pins of ATmega328P, usable as direct external interrupt pins.
SleepMode
Defines all available sleep modes for ATmega328P.
@ EXTENDED_STANDBY
This mode is similar to POWER_SAVE, except the oscillator is kept running, hence waking up from this ...
@ ADC_NOISE_REDUCTION
In this mode, CPU is stopped but other peripherals and interrupts work normally, except IO.
@ POWER_DOWN
In this mode, everything is stopped (including oscillator) but external interrupts,...
@ IDLE
In this mode, CPU is stopped but all other peripherals and interrupts work normally.
@ STANDBY
This mode is similar to POWER_DOWN, except the oscillator is kept running, hence waking up from this ...
@ POWER_SAVE
This mode is similar to POWER_DOWN, except Timer2 is still running if enabled.
AnalogReference
Defines available voltage references of ATmega328P, used for analog input.
@ INTERNAL_1_1V
Voltage reference is internal 1.1V reference, generated from the internal bandgap reference.
@ AREF
Voltage reference is given by the AREF pin.
@ AVCC
Voltage reference is given by the AVcc pin.