Gast
#95414
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
|
Anzeige
|
Suche i2c empfang von 2 byte
Gast
#95414
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
Gast
#95415
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
Gast
#95416
Gast
#95417
DANKE :) werde mir den Link/Quellcode mal reinziehen. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|