( Csab | 2019. 09. 06., p – 11:45 )

Meg a hardver is szar.

Arduino alatt van egy mastered, amelyik időnként küldhet üzenetet, amit a slave-ek fogadnak. Ebben a felállásban még működni is szokott, ha két kérés között tartasz némi delay-t.

Delay nélkül az idóta hardver képes a stop és a start jel között arra, hogy 1V-ig beemeli a feszültséget 5V helyett, majd azonnal visszahúzza. Nanosec delayt tart a start és stop között, amit az I2C slave-ek fele nem fog tudni start-ként felismerni.

I2C kérés indul, I2C stop, delay

Ha pedig több mastert szeretnél és arbitrációt, az Arduino-t elfelejtheted. Az csak a PDF dokumentációban van, hogy képes multimaster módban működni, de megbízható adatátvitelt nem fogsz vele elérni. Kifagy, failel, ...