FastArduino - Arduino LEONARDO Support v1.10
C++ library to build fast but small Arduino/AVR projects
|
ATmega32u4 (Arduino LEONARDO) specific features and pins. More...
#include "io.h"
#include "../defines.h"
#include <avr/sleep.h>
Go to the source code of this file.
Namespaces | |
namespace | board |
Defines all types and constants specific to support Arduino LEONARDO board (ATmega32u4 MCU target). | |
Enumerations | |
enum class | board::Port : uint8_t { board::PORT_B = 0 , board::PORT_C , board::PORT_D , board::PORT_E , board::PORT_F , NONE = UINT8_MAX } |
Defines all available ports of ATmega32u4. More... | |
enum class | board::DigitalPin : uint8_t { board::D0_PD2 = 0 , board::D0 = D0_PD2 , board::D1_PD3 , board::D1 = D1_PD3 , board::D2_PD1 , board::D2 = D2_PD1 , board::D3_PD0 , board::D3 = D3_PD0 , board::D4_PD4 , board::D4 = D4_PD4 , board::D5_PC6 , board::D5 = D5_PC6 , board::D6_PD7 , board::D6 = D6_PD7 , board::D7_PE6 , board::D7 = D7_PE6 , board::D8_PB4 , board::D8 = D8_PB4 , board::D9_PB5 , board::D9 = D9_PB5 , board::D10_PB6 , board::D10 = D10_PB6 , board::D11_PB7 , board::D11 = D11_PB7 , board::D12_PD6 , board::D12 = D12_PD6 , board::D13_PC7 , board::D13 = D13_PC7 , board::A0_PF7 , board::A0 = A0_PF7 , board::A1_PF6 , board::A1 = A1_PF6 , board::A2_PF5 , board::A2 = A2_PF5 , board::A3_PF4 , board::A3 = A3_PF4 , board::A4_PF1 , board::A4 = A4_PF1 , board::A5_PF0 , board::A5 = A5_PF0 , board::SCK_PB1 , board::MOSI_PB2 , board::MISO_PB3 , board::RXLED_PB0 , board::TXLED_PD5 , board::LED = D13_PC7 , NONE = UINT8_MAX } |
Defines all available digital input/output pins of ATmega32u4, with reference to Arduino LEONARDO pins. More... | |
enum class | board::AnalogClock : uint8_t { MAX_FREQ_50KHz = 0 , MAX_FREQ_100KHz , MAX_FREQ_200KHz , MAX_FREQ_500KHz , MAX_FREQ_1MHz } |
Defines available clocks of ATmega32u4, used for analog input. More... | |
enum class | board::AnalogReference : uint8_t { board::AREF = 0 , board::AVCC , board::INTERNAL_2_56V } |
Defines available voltage references of ATmega32u4, used for analog input. More... | |
enum class | board::AnalogPin : uint8_t { board::A0_ADC7 = 0 , board::A0 = A0_ADC7 , board::A1_ADC6 , board::A1 = A1_ADC6 , board::A2_ADC5 , board::A2 = A2_ADC5 , board::A3_ADC4 , board::A3 = A3_ADC4 , board::A4_ADC1 , board::A4 = A4_ADC1 , board::A5_ADC0 , board::A5 = A5_ADC0 , board::A6_D4_ADC8 , board::D4 = A6_D4_ADC8 , board::A7_D6_ADC10 , board::D6 = A7_D6_ADC10 , board::A8_D8_ADC11 , board::D8 = A8_D8_ADC11 , board::A9_D9_ADC12 , board::D9 = A9_D9_ADC12 , board::A10_D10_ADC13 , board::D10 = A10_D10_ADC13 , board::A11_D12_ADC9 , board::D12 = A11_D12_ADC9 , board::TEMP , board::BANDGAP , NONE = UINT8_MAX } |
Defines all available analog input pins of ATmega32u4, with reference to Arduino LEONARDO pins. More... | |
enum class | board::PWMPin : uint8_t { D11_PB7_OC0A = 0 , D3_PD0_OC0B , D9_PB5_OC1A , D10_PB6_OC1B , D11_PB7_OC1C , D5_PC6_OC3A , D3 = D3_PD0_OC0B , D9 = D9_PB5_OC1A , D10 = D10_PB6_OC1B , D5 = D5_PC6_OC3A , NONE = UINT8_MAX } |
Defines all digital output pins of ATmega32u4, capable of PWM output. More... | |
enum class | board::ExternalInterruptPin : uint8_t { D3_PD0_EXT0 = 0 , D2_PD1_EXT1 , D0_PD2_EXT2 , D1_PD3_EXT3 , D7_PE6_EXT6 , D3 = D3_PD0_EXT0 , D2 = D2_PD1_EXT1 , D0 = D0_PD2_EXT2 , D1 = D1_PD3_EXT3 , D7 = D7_PE6_EXT6 } |
Defines all digital output pins of ATmega32u4, usable as direct external interrupt pins. More... | |
enum class | board::InterruptPin : uint8_t { RXLED_PB0_PCI0 = uint8_t(DigitalPin::RXLED_PB0) , SCK_PB1_PCI0 = uint8_t(DigitalPin::SCK_PB1) , MOSI_PB2_PCI0 = uint8_t(DigitalPin::MOSI_PB2) , MISO_PB3_PCI0 = uint8_t(DigitalPin::MISO_PB3) , D8_PB4_PCI0 = uint8_t(DigitalPin::D8_PB4) , D9_PB5_PCI0 = uint8_t(DigitalPin::D9_PB5) , D10_PB6_PCI0 = uint8_t(DigitalPin::D10_PB6) , D11_PB7_PCI0 = uint8_t(DigitalPin::D11_PB7) , D8 = D8_PB4_PCI0 , D9 = D9_PB5_PCI0 , D10 = D10_PB6_PCI0 , D11 = D11_PB7_PCI0 } |
Defines all digital output pins of ATmega32u4, usable as pin change interrupt (PCI) pins. More... | |
enum class | board::USART : uint8_t { USART1 = 1 } |
Defines all USART modules of ATmega32u4, actually only one. More... | |
enum class | board::Timer : uint8_t { board::TIMER0 = 0 , board::TIMER1 = 1 , board::TIMER3 = 3 } |
Defines all "standard" timers available for ATmega32u4. More... | |
enum class | board::SleepMode : uint8_t { board::IDLE = SLEEP_MODE_IDLE , board::ADC_NOISE_REDUCTION = SLEEP_MODE_ADC , board::POWER_DOWN = SLEEP_MODE_PWR_DOWN , board::POWER_SAVE = SLEEP_MODE_PWR_SAVE , board::STANDBY = SLEEP_MODE_STANDBY , board::EXTENDED_STANDBY = SLEEP_MODE_EXT_STANDBY } |
Defines all available sleep modes for ATmega32u4. More... | |
Functions | |
static void | board::init () |
Performs special initialization for ATmega32u4, actually disabling USB related interrupts, to avoid strange behavior at reset time. More... | |
ATmega32u4 (Arduino LEONARDO) specific features and pins.
Definition in file leonardo.h.