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

Clock sources, startup settings, and prescalers. More...

#include <stdint.h>
#include "Config.h"
#include "Pin.h"
Include dependency graph for Clock.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::clock
 Clock source and prescaler definitions.

Enumerations

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

Detailed Description

Clock sources, startup settings, and prescalers.