Skip to content

Latest commit

 

History

History
25 lines (17 loc) · 1.43 KB

README.md

File metadata and controls

25 lines (17 loc) · 1.43 KB

Arduino TinyWire Slave Library

Originals from http://www.arduino.cc/playground/Code/USIi2c

Modified to support ATtiny44/84

NOTE about reliable communication

Since (most of) the ATTinys lack TWI module for implementing all the nitty-gritty of I2C in hardware they will have to do some clock-stretching (at least if run at 8MHz, you may get away with more on higher clock speeds) as specified in the I2C protocol. However some (especially "bit-banged") master implementations do not support clock-streching (looking at you Bus pirate 3.x and RPI), you will not get reliable communication unless your master supports the full I2C protocol spec. There is a library which can bit-bang I2C correctly on RPI, use that instead of the buggy hardware (thanks to @brendanarnold for that tip).

You can use my Arduino based I2C master to test your TinyWire code, this uses Bus Pirate semantics with Arduinos TWI hardware that is known to implement I2C properly.

delayMicroseconds

See this issue: rambo#8 (remember to declare the function void if you copy-paste it verbatim)