mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielle Schnittstelle sendet nur jedes 2. Byte


Autor: Stefan Kaspar (stefank)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

ich habe mit einem C-Programm und der seriellen Schnittstelle Probleme, 
es wird nur jedes 2. Byte gesendet:

Mein Prozessor AT89C51ED2 sendet über seine serielle Schnittstelle 
Zeichen an einen 2. Controller, dieser steuert dann ein Grafikdisplay. 
Der 2. Controller ist ein IC202 von Electronic Assembly. Ich hatte das 
ganze in Pascal für den 8051 programmiert und dieses Programm 
funktioniert einwandfrei. Nun habe ich das ganze zu C portiert (siehe 
Anhang). Der Prozessor sendet aber nur jedes 2. Byte über die 
Schnittstelle. Ich habe das Programm in JSIM simuliert, dort 
funktioniert alles wie gewünscht.

Es ist wahrscheinlich nur ein dummer Fehler, aber inzwischen sehe ich 
den Wald vor lauter Bäumen nicht mehr. Kann von Euch jemand mal einen 
Blick darauf werfen?

Danke und Gruß
Stefan

P.S. Der C-Compiler ist SDCC

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich tippe mal hier drauf:

while(!TI)      //Warten, bis Sendebuffer bereit
  {
    tout++;      //TIMEOUT-Zähler hochzählen
    if(tout>200) return 1;  //TIMEOUT-Error
  }
ohne es zu zu wissen :-)

Autor: Stefan Kaspar (stefank)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, danke, danke (virtuelle Umarmung) :-)),

das war der Wald, da hätte ich selber draufkommen müssen.

Offensichtlich optimiert der C-Controller besser als der 
Pascal-Compiler, die Timeout-Schleife ist viel schneller abgelaufen.

Danke nochmal, es hat sich gelohnt hier zu posten :-)

Gruß Stefan

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.