Macros
Use macros for constants, masks and carefully designed low-level helpers.
CORE IDEA
Parenthesize macro arguments and results; prefer inline functions when type safety matters.
WHY IT MATTERS
Embedded firmware sits directly between C language rules and hardware behavior.
ENGINEERING VIEW
Check the compiler, architecture reference manual and peripheral documentation together.
DEBUG
Verify the generated behavior with registers, debugger state and physical measurements.
Engineer’s checklist
- Read the MCU reference manual before coding.
- Identify the exact register, field, access width and reset value.
- Protect unrelated bits and respect reserved-bit rules.
- Build with warnings enabled and inspect diagnostics.
- Verify the result on the target hardware.
KEY TAKEAWAY
Parenthesize macro arguments and results; prefer inline functions when type safety matters.