ich hab jetzt den Code ein wenig erweitert...jetzt bleibt der Master nicht mehr hängen, wenn er eine nicht vorhandene Addresse versucht anzusprechen:
es muss noch eine unsigned char Variable namens errcounter deklariert werden
die If-Abfragen kann man sich bei Bedarf ja selbst reinschreibenCode:TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); while(!(TWCR & (1<<TWINT))) { errcounter++; if(errcounter==10){errcounter=0; break;} } TWDR = addr; //addr = Zieladdresse TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))) { errcounter++; if(errcounter==10){errcounter=0; break;} } TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))) { errcounter++; if(errcounter==10){errcounter=0; break;} TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);







Zitieren

Lesezeichen