Measure before theorizing, because most comm failures are physical-layer and no amount of code reading reveals a swapped wire or a missing resistor. Step one is to put a scope or logic analyzer on the bus and actually look: idle levels, edge quality, the bit period, ACKs, chip-select timing, this resolves the majority of bus bugs immediately. Step two, confirm power and a true common ground to every device. Step three, verify timing against the actual peripheral clock, not the configured number, measure a bit width on the scope and compare. Step four, for open-drain buses check the pull-ups and idle levels. Step five, isolate and bisect: reduce to a single device, slow the bus down until it works, then add devices and speed back one change at a time so you can attribute any failure to a specific variable. Throughout, use the consistent-vs-intermittent distinction to steer, consistent corruption means deterministic timing/format mismatch, intermittent means analog (noise, grounding, contention, marginal pull-ups/termination). The anti-patterns to avoid are assuming the bug is in software, changing several things at once, and trusting the configured settings instead of measuring what's actually on the wire.
Communication Protocols · Interview question
What's your general method for debugging a misbehaving bus?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
Common Bus Bugs
A field guide to why a bus is dead, garbled, or flaky: pull-ups, baud/clock mismatch, drive contention, and wiring faults, plus a symptom→cause table and a scope-first method.
More Common Bus Bugs questions
An I2C bus is completely dead, no device responds. What do you check first?Data on a bus is corrupted. How does the *pattern* of corruption narrow down the cause?What is bus contention and how does it show up on SPI and I2C?A bus works at low speed but fails when you increase the clock rate. What's going on?
Browse all 472 interview questions