A to Z
Glossary
Every concept in this sheet, plus the smaller terms it uses. Select a concept to open its card.
B
- Bitwise set, clear, toggle and test
- Using OR to set a bit, AND with an inverted mask to clear it, XOR to toggle it and AND to test it, with shifts to build the mask.
C
- Common ground
- All connected devices must share the same ground, because every voltage is measured relative to it.
- const and static
- const marks data that never changes, so the toolchain can keep it in flash. static inside a function keeps a value between calls; at file level it hides the name from other files.
F
- Fixed-width integers
- Types from stdint.h such as uint8_t, int16_t and uint32_t whose size is the same on every compiler and chip, unlike int, whose size depends on the platform.
- Flash, RAM, stack and heap
- Code and constants live in flash.
L
- LED current-limiting resistor
- A resistor in series with an LED sets its current: R = (supply voltage minus LED forward voltage) / desired current.
- Logic levels: 3.3 V and 5 V
- The voltages a chip reads as low and high.
M
- Memory-mapped registers
- Peripheral control and status registers appear at fixed addresses, so C reads and writes them through pointers to those addresses.
O
- Ohm's law and power
- Voltage equals current times resistance (V = I x R), and power equals voltage times current (P = V x I).
P
- Pointers on hardware
- A pointer holds an address.
- Power supply and decoupling
- A regulator gives the board a steady voltage, and small capacitors (often 100 nF) placed next to each chip smooth out quick dips in current.
- Pull-up and pull-down resistors
- A resistor that holds an input at a known level when nothing drives it: a pull-up to the supply, a pull-down to ground.
V
- volatile
- A qualifier telling the compiler a variable can change outside the code it can see, so every read and write must really happen.
- Voltage divider
- Two resistors in series across a voltage give Vout = Vin x R2 / (R1 + R2) at their midpoint.