|
ATmega328p
Hardware definitions
|
Macros are limited to device selection, feature detection, and preprocessor checks. C++ namespaces and constants are the primary interface.
Config.h identifies the device:
It also defines generic feature flags:
These macros are useful in #if conditions. In C++ code, prefer the matching namespace constants.
Define at most one package:
Define at most one operating grade:
For MLF32, optionally define MCU_MLF32_PUNCH or MCU_MLF32_SAWN.
Optional checks:
The example MCUConfig.h also uses:
These values belong to the consuming board configuration. The definitions library does not calculate fuse bytes or use these macros internally.
Use mcu::gpio::port_count, mcu::memory::flash_size_bytes, mcu::pwm::channel_count, and mcu::register_bits::... instead of creating another macro for each hardware value.
There are no public per-register ATMEGA328P_* macros or long *_MAP(X) lists in the module headers.