Zitat Zitat von iBot Beitrag anzeigen
Ok alles klar, wird dann wohl auf einen Pegelwandler hinauslaufen.
Aber nochmal zum Verständnis: Der Tiny gibt zu keinem Zeitpunkt wirklich ein High (5V) auf den Bus oder?
Im angesprochenen Code wird in "Usi_twi_slave_initialise:" mit
SBI PORT_USI, PIN_SCL 'PORT_USI |= (1<<PORT_USI_SCL) // Set SCL high
SBI PORT_USI, PIN_SDA 'PORT_USI |= (1<<PORT_USI_SDA) // Set SDA high
SBI DDR_USI, PIN_SCL 'DDR_USI |= (1<<PORT_USI_SCL) // Set SCL as output
CBI DDR_USI, PIN_SDA 'DDR_USI &= ~(1<<PORT_USI_SDA) // Set SDA as input

der Pullup von SCL (PIN_SCL) eingeschaltet und dann der Pin im DDR auf output geschaltet. Der Pin ist dann ein Ausgang mit High Potential und damit wird Vcc vom Tiny auf den Bus gelegt. Falls der Tiny mit 5V betrieben wird, kommen die auch auf den Bus.