Hacker News new | ask | show | jobs
by TickleSteve 4100 days ago
In practice, personally I prefer SPI due to the tendency of cheap I2C devices to lock up the bus and not respond to the semi-standard reset protocol. This necessitates hacky workarounds to power-cycle the device via a GPIO for example. SPI is more robust in this sense due to the devices reliance on a falling edge of CS to clock data in rather than have a truly shared bus as in I2C. Performance-wise also, SPI can be orders of magnitude quicker than I2C.
1 comments

I2C clock-stretching is also a weird thing to have to have to engineer around.
It's handy when you have truly cheapo component with a software I2C stack that can't actually keep up in some cases. No problem, just hang that bus!