Suche i2c empfang von 2 byte

Gast #95415
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren