Hallo Ceos,
danke für deine Antwort.
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?
Hallo Ceos,
danke für deine Antwort.
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?
korrekt! aber sicher ist eben sicher![]()
zum testen gehts auch so mit nur einem Pull Up nach 3.3V, vll. reicht das ja
Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
nicht.
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.
Lesezeichen