www.mikrocontroller.net

Forum: PC-Programmierung Übermittlungsprobleme, RS232, Hyperterminal


Autor: Rafi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

habe folgendes Problem:

Ich übermittle dem PC (Hyperterminal) Daten über die serielle
Schnittstelle. Das Problem liegt nun darin, dass ein einzelnes Zeichen
auf dem Terminal dargestellt, hingegen ein String einfach
"verschluckt" wird. Ich versuchte anschliessend, beim Senden eines
Strings (übrigens alles vom uC) nach jedem Zeichen eine kurze Pause
einzulegen (1ms); dann funktionierte die Übermittlung des Strings, das
Hyperterminal zeigte mir diesen an.

Das Problem muss beim PC liegen, auf praktisch allen anderen PCs (auch
XPs, wie meiner) funktioniert die Übertragung problemlos.

Wie bringe ich das auf meinem PC zum Laufen?

Vielen Dank schon im Voraus für Eure Hilfe!
Gruss Rafi

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat der böse PC vielleicht keinen FiFo-Chip UART?
http://byterunner.com/why.html

Autor: Rafi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

doch, der "böse" PC hat einen FIFO Chip.

Es scheint, als würde die serielle Schnittstelle zu selten abgefragt
werden. Wenn ich jede Millisekunde ein Zeichen sende, funktioniert
alles tip top, nur wenn ich den ganzen String aneinander hänge kommt
nichts heraus.

Gruss Rafi

Autor: Frankl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich sende z.B. Screenmasken über die RS232 mit maximaler Baudrate
115200 Baud Quarz 7.3728 MHz PC Hyper Terminal keine Probleme.
Senderoutine wird gepollt.

Sendch:
sbis USR,UDRE
rjmp Sendch
out UDR, daten

Autor: Rafi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir ist es so, dass die Übermittlung auf den meisten Computern
funktioniert. Eigentlich sollte die Baud- Rate keine grosse Rolle
spielen, die Computer sind ja noch viel schneller. Ich dachte zuerst,
dass ich ein Pegelproblem habe, doch auch mit einem MAX232
funktionierte die Stringübermittlung nicht.

Ist es eigentlich das Bios, welches die serielle Schnittstelle
verwaltet? Ist es möglich, dass ich ein Bios- Update machen muss?

Gruss Rafi

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das BIOS hat seitdem es Windows gibt, nichts mehr mit den
seriellen Schnittstellen am Hut. Es findet zwar noch 'raus, daß es sie
gibt, aber das interessiert sonst nicht weiter.
Das war schon zu Zeiten des reinen 16-Bit-Windows (3.0) so. Bereits
dieses Windows hat einen interruptgesteuerten Betrieb der seriellen
Schnittstelle unterstützt.

Und seitdem die Standardschnittstelle den 16550 verwendet, gibt es
einen -üblicherweise auch nicht deaktivierten- Empfangsfifo.
Du könntest im Gerätemanager nachsehen, ob der deaktiviert ist.

Womit erzeugst Du die Sendebaudrate Deines Gerätes?

Autor: Rafi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für eure Hilfe,

das Problem hat sich erledigt. Eigentlich ganz simpel: Nachdem ich beim
uC die serielle Schnittstelle initialisiert habe, habe ich sofort
begonnen mit dem Senden von Daten. Jetzt habe ich eine kurze Pause von
1ms nach der Initialisierung vorgesehen und schon läuft die
Kommunikation problemlos.

Ich bin mir zwar nicht sicher, wieso das so ist, aber Hauptsache es
funktioniert. Wahrscheinlich braucht die serielle Schnittstelle des PCs
die kurze Pause.

Gruss Rafi

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.