mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BASCOM - ATMega128 TWSR auswerten (I2C)


Autor: Ninnik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich habe ein Problem mit meinem ATMega 128.
Ich arbeite mit BASCOM und über eine I2C Kommunikation.

Eigentlich will ich eine ganz simple Sache realisieren.
Master sendet, slave empfängt.
Ich möchte das Statusregister (TWSR) des Masters abfragen, ob sich nach 
dem schicken der Adresse ein Slave gemeldet hat. Wenn ja sollte laut 
Datenblatt im TWSR der Wert hex18 stehen. Sollte kein Slave ein ACK 
zurück gesendet haben, müsste der Wert hex20 darin stehen.
Nun ist die Frage, wie ich am Master das TWSR nach jedem Vorgang 
überprüfen kann.

I2Cstart
                                 'TWSR überprüfen
I2Cwbyte Slave_Adresse
                                 'TWSR überprüfen
I2Cwbyte Daten
                                 'TWSR überprüfen
I2Cstop

Beim Slave überprüfe ich das TWSR, in dem ich in einer Interrupt Service 
Routine den Wert prüfe. Nach jedem Schritt bekommt der Slave ja diesen 
Interrupt. (Interner TWI Interrupt)

On Twi Slave_ISR
Enable TWI
Enable Interrupts

Nur beim Master scheint kein Interrupt zu kommen. Dort habe ich

On Twi Master_ISR
Enable TWI
Enable Interrupts

geschrieben und in Master_ISR: frage ich das TWSR ab. Darauf reagiert er
aber gar nicht.

Kann mir da jemand erklären, wie ich im Master ans TWSR komme und auf 
den Inhalt reagieren kann?
MfG Ninnik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.