ATmega2560
Hardware definitions
Loading...
Searching...
No Matches
Timer.h File Reference

Timer/counter architecture and modes. More...

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

Go to the source code of this file.

Namespaces

namespace  atmega2560
 ATmega2560 hardware definitions.
namespace  atmega2560::timer
 Timer definitions.
namespace  atmega2560::timer::timer0
 Timer0 definitions.
namespace  atmega2560::timer::timer1
 Timer1 definitions.
namespace  atmega2560::timer::timer2
 Timer2 definitions.
namespace  atmega2560::timer::timer3
 Timer3 definitions.
namespace  atmega2560::timer::timer4
 Timer4 definitions.
namespace  atmega2560::timer::timer5
 Timer5 definitions.

Typedefs

using atmega2560::timer::Timer0WaveformMode = Timer8WaveformMode
 Timer0 waveform modes.
using atmega2560::timer::Timer2WaveformMode = Timer8WaveformMode
 Timer2 waveform modes.
using atmega2560::timer::Timer1WaveformMode = Timer16WaveformMode
 Timer1, 3, 4 and 5 waveform modes.
using atmega2560::timer::Timer3WaveformMode = Timer16WaveformMode
using atmega2560::timer::Timer4WaveformMode = Timer16WaveformMode
using atmega2560::timer::Timer5WaveformMode = Timer16WaveformMode

Enumerations

enum class  atmega2560::timer::Id : uint8_t {
  atmega2560::timer::Timer0 = 0 , atmega2560::timer::Timer1 = 1 , atmega2560::timer::Timer2 = 2 , atmega2560::timer::Timer3 = 3 ,
  atmega2560::timer::Timer4 = 4 , atmega2560::timer::Timer5 = 5
}
 Six hardware timer/counters. More...
enum class  atmega2560::timer::Timer01ClockSelection : uint8_t {
  atmega2560::timer::Stopped = 0 , atmega2560::timer::NoPrescaling = 1 , atmega2560::timer::Divide8 = 2 , atmega2560::timer::Divide64 = 3 ,
  atmega2560::timer::Divide256 = 4 , atmega2560::timer::Divide1024 = 5 , atmega2560::timer::ExternalFallingEdge = 6 , atmega2560::timer::ExternalRisingEdge = 7
}
 Timer 0/1/3/4/5 clock selection. More...
enum class  atmega2560::timer::Timer2ClockSelection : uint8_t {
  atmega2560::timer::Stopped = 0 , atmega2560::timer::NoPrescaling = 1 , atmega2560::timer::Divide8 = 2 , atmega2560::timer::Divide32 = 3 ,
  atmega2560::timer::Divide64 = 4 , atmega2560::timer::Divide128 = 5 , atmega2560::timer::Divide256 = 6 , atmega2560::timer::Divide1024 = 7
}
 Timer 2 clock selection. More...
enum class  atmega2560::timer::Timer01Prescaler : uint16_t {
  atmega2560::timer::Divide1 = 1 , atmega2560::timer::Divide8 = 8 , atmega2560::timer::Divide64 = 64 , atmega2560::timer::Divide256 = 256 ,
  atmega2560::timer::Divide1024 = 1024
}
 Prescaler values for synchronous timers. More...
enum class  atmega2560::timer::Timer2Prescaler : uint16_t {
  atmega2560::timer::Divide1 = 1 , atmega2560::timer::Divide8 = 8 , atmega2560::timer::Divide32 = 32 , atmega2560::timer::Divide64 = 64 ,
  atmega2560::timer::Divide128 = 128 , atmega2560::timer::Divide256 = 256 , atmega2560::timer::Divide1024 = 1024
}
 Timer2 prescaler values. More...
enum class  atmega2560::timer::Timer8WaveformMode : uint8_t {
  atmega2560::timer::Normal = 0 , atmega2560::timer::PhaseCorrectPWM = 1 , atmega2560::timer::ClearOnCompare = 2 , atmega2560::timer::FastPWM = 3 ,
  atmega2560::timer::PhaseCorrectPWMTopOCRnA = 5 , atmega2560::timer::FastPWMTopOCRnA = 7
}
 8-bit timer waveform encodings. More...
enum class  atmega2560::timer::Timer16WaveformMode : uint8_t {
  atmega2560::timer::Normal = 0 , atmega2560::timer::PhaseCorrectPWM8 = 1 , atmega2560::timer::PhaseCorrectPWM9 = 2 , atmega2560::timer::PhaseCorrectPWM10 = 3 ,
  atmega2560::timer::CTCOCRnA = 4 , atmega2560::timer::FastPWM8 = 5 , atmega2560::timer::FastPWM9 = 6 , atmega2560::timer::FastPWM10 = 7 ,
  atmega2560::timer::PhaseFrequencyCorrectICRn = 8 , atmega2560::timer::PhaseFrequencyCorrectOCRnA = 9 , atmega2560::timer::PhaseCorrectICRn = 10 , atmega2560::timer::PhaseCorrectOCRnA = 11 ,
  atmega2560::timer::CTCICRn = 12 , atmega2560::timer::FastPWMICRn = 14 , atmega2560::timer::FastPWMOCRnA = 15
}
 16-bit waveform generator encodings. More...
enum  : uint8_t {
  atmega2560::timer::timer_count = 6 , atmega2560::timer::timer8_count = 2 , atmega2560::timer::timer16_count = 4 , atmega2560::timer::output_compare_8bit_channel_count = 4 ,
  atmega2560::timer::output_compare_16bit_channel_count = 12
}
 Timer resources. More...
enum  : uint8_t { atmega2560::timer::timer0::counter_bits = 8 , atmega2560::timer::timer0::compare_channel_count = 2 , atmega2560::timer::timer0::has_input_capture = 0 }
 Timer0 properties. More...
enum  : uint8_t { atmega2560::timer::timer1::counter_bits = 16 , atmega2560::timer::timer1::compare_channel_count = 3 , atmega2560::timer::timer1::has_input_capture = 1 }
 Timer1 properties. More...
enum  : uint8_t { atmega2560::timer::timer2::counter_bits = 8 , atmega2560::timer::timer2::compare_channel_count = 2 , atmega2560::timer::timer2::has_input_capture = 0 }
 Timer2 properties. More...
enum  : uint8_t { atmega2560::timer::timer3::counter_bits = 16 , atmega2560::timer::timer3::compare_channel_count = 3 , atmega2560::timer::timer3::has_input_capture = 1 }
 Timer3 properties. More...
enum  : uint8_t { atmega2560::timer::timer4::counter_bits = 16 , atmega2560::timer::timer4::compare_channel_count = 3 , atmega2560::timer::timer4::has_input_capture = 1 }
 Timer4 properties. More...
enum  : uint8_t { atmega2560::timer::timer5::counter_bits = 16 , atmega2560::timer::timer5::compare_channel_count = 3 , atmega2560::timer::timer5::has_input_capture = 1 }
 Timer5 properties. More...

Detailed Description

Timer/counter architecture and modes.