A complete embedded C practice repository implementing:
UART • I2C • SPI • CAN
using register-level programming on LPC21xx (ARM7) microcontrollers.
Designed for:
- 📘 Embedded systems learning
- 🎯 Interview preparation
- 🧠 Protocol-level understanding
- 🛠 Hands-on hardware practice
Most learners understand protocols theoretically, but struggle with:
- Registers
- Pin configuration
- Real hardware behavior
This repository focuses on how protocols actually work inside the MCU:
✔ Direct register manipulation
✔ Pin Connect Block configuration
✔ Polling-based communication
✔ Industry-oriented embedded C code
- Baud rate calculation
- LSR, THR, RBR registers
- TX/RX polling mechanism
- Serial debugging support
- Master mode implementation
- START / STOP / ACK / NACK
- EEPROM byte read & write
- Status register analysis
- Master mode configuration
- Full-duplex communication
- CPOL & CPHA modes
- High-speed data transfer
- Message-based communication
- Arbitration & error handling
- Multi-node network
- Automotive-grade protocol