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.