ATmega328p
Hardware definitions
Loading...
Searching...
No Matches
atmega328p::clock Namespace Reference

Clock source and prescaler definitions. More...

Enumerations

enum class  Source : uint8_t {
  ExternalClock , LowPowerCrystal , FullSwingCrystal , LowFrequencyCrystal ,
  InternalCalibratedRC , Internal128kHzRC
}
 Clock or interrupt source identifiers. More...
enum class  Domain : uint8_t { CPU , IO , Flash , ADC }
 Clock domains. More...
enum class  CKSELCode : uint8_t {
  ExternalClock = 0x00 , Reserved = 0x01 , InternalCalibratedRC = 0x02 , Internal128kHzRC = 0x03 ,
  LowFrequencyCrystalMinimum = 0x04 , LowFrequencyCrystalMaximum = 0x05 , FullSwingCrystalMinimum = 0x06 , FullSwingCrystalMaximum = 0x07 ,
  LowPowerCrystalMinimum = 0x08 , LowPowerCrystalMaximum = 0x0F
}
 Clock-source fuse encodings. More...
enum class  SUTCode : uint8_t { SUT00 = 0 , SUT01 = 1 , SUT10 = 2 , SUT11 = 3 }
 Startup-time fuse encodings. More...
enum class  Prescaler : uint16_t {
  Divide1 = 1 , Divide2 = 2 , Divide4 = 4 , Divide8 = 8 ,
  Divide16 = 16 , Divide32 = 32 , Divide64 = 64 , Divide128 = 128 ,
  Divide256 = 256
}
 Clock prescaler selections. More...
enum  : uint32_t {
  internal_calibrated_rc_hz = 8000000UL , internal_rc_nominal_hz = 8000000UL , family_datasheet_internal_rc_user_calibrated_min_hz = 7300000UL , family_datasheet_internal_rc_user_calibrated_max_hz = 8100000UL ,
  internal_128khz_rc_hz = 128000UL , timer2_async_crystal_hz = 32768UL , factory_default_oscillator_hz = 8000000UL , factory_default_cpu_hz = 1000000UL
}
enum  : uint16_t {
  factory_default_divisor = 8U , system_prescaler_count = 9U , startup_delay_from_reset_cycles = 19U , factory_default_startup_additional_delay_ms = 65U ,
  rstdisbl_sut00_additional_delay_ms = 4U , startup_delay_corrected_from_14_to_19_ck = 1
}
enum  : uint32_t {
  standard_max_cpu_hz_at_1v8 = 4000000UL , standard_max_cpu_hz_at_2v7 = 10000000UL , standard_max_cpu_hz_at_4v5 = 20000000UL , automotive_max_cpu_hz_at_2v7 = 8000000UL ,
  automotive_max_cpu_hz_at_4v5 = 16000000UL
}
enum  : uint8_t {
  timer2_tosc1_pin_value = 0x06U , timer2_tosc2_pin_value = 0x07U , clock_output_pin_value = 0x00U , internal_rc_frequency_depends_on_voltage_and_temperature = 1 ,
  internal_rc_factory_calibration_provided = 1 , internal_rc_user_calibration_supported = 1 , osccal_width_bits = 7U , osccal_max_value = 0x7FU ,
  internal_rc_factory_accuracy_percent = 10U , internal_rc_user_accuracy_percent = 1U
}
enum  : uint16_t { internal_rc_factory_calibration_vcc_mv = 3000U , internal_rc_user_min_vcc_mv = 1800U , internal_rc_user_max_vcc_mv = 5500U , internal_128khz_rc_nominal_vcc_mv = 3000U }
enum  : int16_t { internal_rc_factory_calibration_temperature_c = 25 , internal_rc_user_min_temperature_c = -40 , internal_rc_user_max_temperature_c = 85 , internal_128khz_rc_nominal_temperature_c = 25 }

Detailed Description

Clock source and prescaler definitions.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : uint16_t
Enumerator
factory_default_divisor 

Factory default divisor.

system_prescaler_count 

Number of system prescaler.

startup_delay_from_reset_cycles 

Startup delay from reset (clock cycles).

factory_default_startup_additional_delay_ms 

Factory default startup additional delay (ms).

rstdisbl_sut00_additional_delay_ms 

RSTDISBL sut00 additional delay (ms).

startup_delay_corrected_from_14_to_19_ck 

Startup delay corrected from 14 to 19 ck.

◆ anonymous enum

anonymous enum : uint8_t
Enumerator
timer2_tosc1_pin_value 

Timer2 tosc1 logical pin encoding.

timer2_tosc2_pin_value 

Timer2 tosc2 logical pin encoding.

clock_output_pin_value 

Clock output logical pin encoding.

internal_rc_frequency_depends_on_voltage_and_temperature 

Internal RC frequency depends on voltage and temperature.

internal_rc_factory_calibration_provided 

Internal RC factory calibration provided.

internal_rc_user_calibration_supported 

Internal RC user calibration supported.

osccal_width_bits 

OSCCAL width width (bits).

osccal_max_value 

OSCCAL max value.

internal_rc_factory_accuracy_percent 

Internal RC factory accuracy percent.

internal_rc_user_accuracy_percent 

Internal RC user accuracy percent.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
internal_calibrated_rc_hz 

Internal calibrated RC (Hz).

internal_rc_nominal_hz 

Internal RC nominal (Hz).

family_datasheet_internal_rc_user_calibrated_min_hz 

Family datasheet internal RC user calibrated min (Hz).

family_datasheet_internal_rc_user_calibrated_max_hz 

Family datasheet internal RC user calibrated max (Hz).

internal_128khz_rc_hz 

Internal 128khz RC (Hz).

timer2_async_crystal_hz 

Timer2 async crystal (Hz).

factory_default_oscillator_hz 

Factory default oscillator (Hz).

factory_default_cpu_hz 

Factory default CPU (Hz).

◆ anonymous enum

anonymous enum : int16_t
Enumerator
internal_rc_factory_calibration_temperature_c 

Internal RC factory calibration temperature c.

internal_rc_user_min_temperature_c 

Internal RC user min temperature c.

internal_rc_user_max_temperature_c 

Internal RC user max temperature c.

internal_128khz_rc_nominal_temperature_c 

Internal 128khz RC nominal temperature c.

◆ anonymous enum

anonymous enum : uint16_t
Enumerator
internal_rc_factory_calibration_vcc_mv 

Internal RC factory calibration VCC (mV).

internal_rc_user_min_vcc_mv 

Internal RC user min VCC (mV).

internal_rc_user_max_vcc_mv 

Internal RC user max VCC (mV).

internal_128khz_rc_nominal_vcc_mv 

Internal 128khz RC nominal VCC (mV).

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
standard_max_cpu_hz_at_1v8 

Standard max CPU hz at 1v8.

standard_max_cpu_hz_at_2v7 

Standard max CPU hz at 2v7.

standard_max_cpu_hz_at_4v5 

Standard max CPU hz at 4v5.

automotive_max_cpu_hz_at_2v7 

Automotive max CPU hz at 2v7.

automotive_max_cpu_hz_at_4v5 

Automotive max CPU hz at 4v5.

◆ CKSELCode

enum class atmega328p::clock::CKSELCode : uint8_t
strong

Clock-source fuse encodings.

Enumerator
ExternalClock 

0x00 - External clock.

Reserved 

0x01 - Reserved clock selection.

InternalCalibratedRC 

0x02 - Calibrated internal RC oscillator.

Internal128kHzRC 

0x03 - Internal 128 kHz RC oscillator.

LowFrequencyCrystalMinimum 

0x04 - Low-frequency crystal selection, lower code.

LowFrequencyCrystalMaximum 

0x05 - Low-frequency crystal selection, upper code.

FullSwingCrystalMinimum 

0x06 - Full-swing crystal selection, lower code.

FullSwingCrystalMaximum 

0x07 - Full-swing crystal selection, upper code.

LowPowerCrystalMinimum 

0x08 - Low-power crystal selection, lower code.

LowPowerCrystalMaximum 

0x0F - Low-power crystal selection, upper code.

◆ Domain

enum class atmega328p::clock::Domain : uint8_t
strong

Clock domains.

Enumerator
CPU 

CPU clock domain.

IO 

I/O peripheral clock domain.

Flash 

Flash memory clock domain.

ADC 

ADC clock domain.

◆ Prescaler

enum class atmega328p::clock::Prescaler : uint16_t
strong

Clock prescaler selections.

Enumerator
Divide1 

1 - Divide system clock by 1.

Divide2 

2 - Divide system clock by 2.

Divide4 

4 - Divide system clock by 4.

Divide8 

8 - Divide system clock by 8.

Divide16 

16 - Divide system clock by 16.

Divide32 

32 - Divide system clock by 32.

Divide64 

64 - Divide system clock by 64.

Divide128 

128 - Divide system clock by 128.

Divide256 

256 - Divide system clock by 256.

◆ Source

enum class atmega328p::clock::Source : uint8_t
strong

Clock or interrupt source identifiers.

Enumerator
ExternalClock 

External clock on XTAL1.

LowPowerCrystal 

Low-power crystal oscillator.

FullSwingCrystal 

Full-swing crystal oscillator.

LowFrequencyCrystal 

Low-frequency crystal oscillator.

InternalCalibratedRC 

Calibrated internal RC oscillator.

Internal128kHzRC 

Internal nominal 128 kHz RC oscillator.

◆ SUTCode

enum class atmega328p::clock::SUTCode : uint8_t
strong

Startup-time fuse encodings.

Enumerator
SUT00 

0 - Startup time encoding 00.

SUT01 

1 - Startup time encoding 01.

SUT10 

2 - Startup time encoding 10.

SUT11 

3 - Startup time encoding 11.