mikrocontroller.net

Forum: Compiler & IDEs TWI - Polling bleibt haengen


Autor: F. Schlosser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier folgendes Phaenomen:

Die Ansteuerung meines TWI-Busser (eine RTC haengt da daran) bleibt oft
in der Schleife, in der das Interrupt-Bit gepollt wird, haengen (Bit
wird nie gesetzt, obwohl ich es vorher durch setzen geloescht habe),
und zwar schon beim Aktivieren der Start-Condition. Muesste der
Prozessor nicht auf jeden Fall das Bit setzen und mir einen Errorcode
zurueckliefern?

Mein Code:

[...Baudrate auf 80kHz setzen...]

outp((1<<TWINT)|(1<<TWEN)|(1<<TWSTA), TWCR); // Startcond. senden
while(!(inp(TWCR) & 128)); // Hier kommt er nie mehr raus

Mit dem selben Code hat es schon mal funktioniert, nur die Hardware
wurde geaendert.

PullUps sind auch ok, weiss nicht mehr weiter.

Gruss und Dank!
Friedemann

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich hast Du einen Fehler in der Software.

Wenn Du z.B. als Master-Receiver nach dem letzten Byte ein ACK sendest,
kann es sein, daß Du dann kein Stop senden kannst, weil der Slave ja das
nächste Byte auf den Bus legt.
Und damit kommt auch kein neues Start.


Peter

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.