Hallo hat jemand für mich ein Quellcode in C (oder auch ASM, aber lieber C), wo man sieht wie bei einem mega8 / mega128 Twi als i2C genutzt wird und 16Bit (2 Byte) empfängt? DANKE im Vorraus
unsigned char i2c[7];
unsigned char i;
TWCR = 0xA4; // send start
while ( ( TWCR & 128 ) != 128) ;
TWDR = 0x21;
TWCR = 0x84; // send i2c address
while ( ( TWCR & 128 ) != 128) ;
i = 0;
while ( i < 6 ) {
TWCR = 0xC4; // start rx mit ACK
while ( ( TWCR & 128 ) != 128) ;
i2c[i] = TWDR;
i += 1;
}
TWCR = 0x84; // start rx mit NACK
while ( ( TWCR & 128 ) != 128) ;
i2c[6] = TWDR;
TWCR = 0x94; // send stop
liest zwar mehr Byte ein, aber die Funktion sollte erklärt sein. (Es
erfolgt aber keine Fehlerauswertung!!)
grüsse leo9
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.