NO ACKNOWLEDGE Signal für I2C erzeugen

Gast #322641
Lesenswert?
• ▲
▼
Hallo,
wie erzeuge ich ein NO ACKNOWLEDGE (NACK) Signal mit dem Hardware
TWI-Interface eines AVRs?

Ich will Daten aus einem I2C-EEprom lesen und das letzte zu empfangene
Byte muss mit einem NACK Signal vor der Stoppbedingung gekennzeichnet
werden.
Mit dem TWI-Controll-Register kann ja nur ACK Signale erzeugen, aber
keine NACK.
Der AVR Arbeitet als Master.
Gast #322646
Lesenswert?
• ▲
▼
noch nicht, habe noch kein I2C EEprom!

Ich glaube das ist so richtig.
Ich habe nach einem anderen IC2-Code im Internet gesucht und die haben
es genauso gemscht:

unsigned char i2c_readNak(void)
{
  TWCR = (1<<TWINT) | (1<<TWEN);
  while(!(TWCR & (1<<TWINT)));

    return TWDR;

}/* i2c_readNak */

Aber wieso kommt man darauf um ein Nack zu erzeugen das Bit TWEA nicht
zu setzen?
Gast #322647
Lesenswert?
• ▲
▼
Hallo pet,


"Aber wieso kommt man darauf um ein Nack zu erzeugen das Bit TWEA
nicht
zu setzen?"

Weil es so im Datenblatt steht ;-).
Ist schon ganz richtig so - Du bist auf dem richtigen Weg.

MfG, Daniel

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.