Genau, sag ich doch, zumindest nicht mit dem damaligen Kernel (bis Anfang April dieses Jahres). Dazu gibt es sogar hier im Forum ein Topic.
Das clock stretching wurde wohl durch den AVR Arduino verursacht (was viele auch im raspi Forum für die Ursache der I2C Datenübertragungsfehler hielten), und eben das vertrug der Raspi nicht, daher konnten mal keine großen Datenblöcke auf einmal übertragen werden und ein anderes Mal schmiss der Raspi sogar den Arduino aus seinem I2C Bus und erkannte ihn gar nicht mehr als I2C device unter seiner Busadresse.
Seit dem 10.4. gibt es allerdings einen neuen Kernel, vlt kann der mehr als der vorhergehende, seitdem habe ich die AVRs aber nicht mehr am Raspi-i2c-Bus getestet..
Mit dem Aruino DUE (andere berichteten, glaube ich, auch mit demZero) funkionierte aber vorher schon I2C immer außerordentlich zuverlässig.
ich bezog mich auch auf den "echten" I2C Modus, wie er unter C/C++ mit pigpio und wiringPi benutzt wird (mit Arduino per 100kHz, ansonsten mind. bis 400kHz), der wohl langsamere smbus-Modus als auch Software-Bitbanging waren in dieser Hinsicht toleranter. Auch zum letzteren gab es im besagten Topic Beispiele.
Lesezeichen