mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik H8S 2368: Kommunikation via SCI


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich schlage mich seit einiger Zeit mit dem Empfang von Daten via SCI 
(serielle Schnittstelle) in einem H8S 2368 herum.

Bein Problem sieht wie folgt aus:

Initialisierung der SCI2 klappt:
+ 8 Bit Datenwortlänge
+ gerade Parität
+ 1 Stoppbit
+ asynchron
+ 1 Mbit Übertragungsgeschwindigkeit
+ Empfangsinterrupt aktiviert
+ Empfang eingeschaltet
+ SCI2 aus dem Stop_Mode geholt
+ Alle Interrupts aktiviert

In der Interrupt-Service-Routine mache ich:
+ Auslesen des Empfangsregisters (RDR) und zuweisung an Port1 (mit 
Treibern für LEDs bestückt)
+ Manuelles Rücksetzen des Empfangsflag (RDRF) auf Null

Beim Test stelle ich nun aber fest, dass nur das erste Byte empfangen 
wird. Weitere Bytes werden nicht empfangen. Die Errorflags (Parity, 
Framing) überprüfe ich, die sind nicht gesetzt, somit nehme ich an, dass 
keie Fehler auftreten.

Hat jemand eine Ahnung, warum mein Empfangsinterrup nur einmal 
aufgerufen wird?? Habe ich etwas übersehen?? Muss ich ein Flag setzen, 
dass den µC für den erneuten Empfang bereit macht??

Grüße

Christian

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

also ich habe den Fehler jetzt schon mal eingegrenzt:

Es liegt daran, dass ich das Empfangsflag (RDRF) nicht löschen kann.
Das '0'-hineinschreiben zeigt keine Wirkung...

und somit wird natürlich nicht noch einmal der Interrupt ausgelöst, der 
Empfangsbuffer nicht ausgelesen und somit erhalte ich danach einen 
Überlauf...

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.