Skip to content

Communication Protocols — question 10 of 10

Write a real answer. It is graded against the question's rubric, and the mastery movement is computed by the same engine the product uses. Scoring here is deterministic rather than model-written, so this page costs nothing to run and nothing is saved. In a track built from your own posting, the same rubric is graded by the model, which is what produces feedback about your reasoning rather than about coverage.

You have an I2C sensor that occasionally needs extra time to prepare a byte, so it holds SCL low (clock stretching) for up to 5ms during a read. Your master implementation has a bus timeout of 2ms: if it doesn't see the expected SCL/SDA states within that window, it aborts the transaction and resets its I2C peripheral. In testing, most reads succeed, but a small fraction fail -- and worse, occasionally the whole bus locks up afterward, requiring a power cycle to recover. Walk me through the failure chain here, and how you'd fix it robustly.

How sure are you?

Being confidently wrong costs more mastery than admitting a guess — that is deliberate, and it is how misconceptions get found.

Neither is graded, and nothing here is recorded.