STM32 I2C Driver Development

Cliente Freelancer · Remoto · Remoto · freelance · mid · 12.500–37.500 INR

Publicada el 2026-07-18

Descripción de la oferta

I need a clean, well-documented I2C driver written in C for my STM32 board. The driver must operate in both master and slave modes while staying strictly within the 100 kHz Standard-mode specification. Full read and write transactions are required in each role, including proper start/stop sequencing, ACK/NACK handling, and error recovery for bus faults or time-outs. My current firmware is built with STM32CubeIDE, so the new module should compile there without warnings and slot neatly into the existing HAL-based project structure (pure LL implementations are also acceptable if you explain the integration steps). Deliverables • Source and header files with clear, line-level comments • An initialization routine that lets me choose master or slave at runtime • Blocking and non-blocking (interrupt or DMA) transfer functions for reads and writes • A concise example project that exercises master-to-slave and slave-to-master loops at 100 kHz, showing data integrity in both directions • A short README describing API usage, required clock settings, and any board-level wiring considerations Acceptance criteria: the demo project must build in CubeIDE, run on my hardware, and pass a logic-analyzer capture showing correct waveforms for 10 consecutive read-then-write transactions in both roles. If you have questions about the board revision or pinout, let me know early so we can keep the turnaround tight.

Skills

Fuente original: freelancer