Hi,
danke für deinen Code, er hat mir einiges gebracht.
leider funktioniert das ganze immernoch nicht.
Ich habe mitlerweile den Bustakt auf 40khz (fast minimum) runtergedreht. und mehrere wait schleifen eingebaut, damit alles schön langsam ist.
Mein erfolg ist immerhin, dass meine Slave seine adresse erkennt, aber kein ACK zurücksendet.
Meine routine um ein ACK zu senden habe ich von dir übernommen:
Code:sende_ACK: cbi PORTB,0 ;prepare to send "0" on SDA sbi DDRB,0 ;setup the SDA line as output rcall Timer_1Bit ;timer für ACK zurückstellen retAls master verwende ich eine Mega 168 mit hadware TWI, je 10k pullups an SDA und SCL.Code:Timer_1Bit: ldi temp1,0xee out USISR,temp1 ;timer für ACK zurückstellen und flags löschen ret






Zitieren

Lesezeichen