very fast (standard and fast mode on ATmega328, 33 kHz on ATtiny.very lightweight (roughly 500 bytes of flash and 0 byte of RAM, except for call stack).can make use of almost any pin (except for pins on port H and above on large ATmegas).internal MCU pullup resistors can be used (new!).timeout on ACK polling for busy devices (new!).no bus arbitration (i.e., only one master allowed on bus).In these cases, another bit-banging I2C library written in pure C++ could perhaps help you: SlowSoftI2CMaster. If you want a solution running on an ARM MCU (Due, Zero, Teensy 3.x), you want to use pins on port H or above on an ATmega256, or you want to use many different I2C buses, this library is not the right solution for you. Even on an ATtiny running with 1MHz, one can still operate theīus with 33 kHz, which implies that you can drive slave devices that use the SMBus protocol (which timeout if the the bus frequency is below 10 kHz). I adapted Peter Fleury's I2C software library that is written in AVR assembler, extremely light weight (just under 500 byte in flash) and very fast.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |