mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anzeige auf Display


Autor: Simone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Programm geschrieben, welches über die RS232-Schnittstelle 
Zeichen einliest und sie dann auf dem LCD anzeigen soll.
Nun zu meiner Frage:
Einige Zeichen werden ordentlich angezeigt und bei Anderen kommt 
vorneweg irgendwelcher Schwachsinn. An was kann das liegen?Beim Empfang 
zum Hyperteminal sind sie alle ok.

Besten Dank im vorraus.

Grüße Simone

Autor: Siegfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Simone,

gib die empfangenen Zeichen doch einfach Hexadezimal aus, dann kannst Du 
sehen, welcher Zeichencode empfangen wurde und ob da irgentwelche Bits 
gekippt, oder dazu gekommen sind.

Stimmen denn alle Übertragungsparameter wie Framelänge 7, 8 oder 9 Bit, 
No-Even-Odd-Parity, 1-2 Stoppbit?

Tritt der Fehler auf, wenn mehrere aufeinanderfolgende "1" oder "0" in 
dem Zeichen vorkommen, dann läuft die Quarzfrequenz aus dem Ruder, oder 
der Vorteiler stimmt nicht.

Siegfried

Autor: Simone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Siegfried,

vielen Dank. Ich muß aber gestehen, dass ich mit der MC - Programmierung 
erst anfange. Also die Parameter stimmen. Ich werde es mal mit der 
HEX-Ausgabe probieren.

//Tritt der Fehler auf, wenn mehrere aufeinanderfolgende "1" oder "0"
//in dem Zeichen vorkommen, dann läuft die Quarzfrequenz aus dem
//Ruder, oder der Vorteiler stimmt nicht.

Das hier verstehe ich nicht so richtig, mit dem Vorteiler.
Es wäre nett, wenn du es mir erklären könntest.


Simone

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich gibt es einen Haufen Möglichkeiten, warum das nicht
klappt.
1. Es gibt ein Problem bei der Übertragung zwischen PC und µC,
z.B. wegen falscher Baudrate etc.
2. Es gibt ein Problem bei der Übertragung aus dem UART in
Dein Programm, z.B. wenn der UART ausgelesen wird, während
er gerade upgedatet wird.
3. Dein Programm verliert das Zeichen, z.B. wenn Du es in einem
Register speicherst, das von einem Interrupt überschrieben wird.
4. Das LCD kann das Zeichen nicht ohne weiteres anzeigen
(z.B. Umlaute)
5. u.v.a.

MfG,

Sebastian

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Simone,
welchen Controller verwendest Du?
Welche Taktfrequenz hat der Controller?
Mit welcher Baudrate arbeitest Du?

Du kannst nämlich nicht mit jeder Taktfrequenz jede beliebige Baudrate 
erreichen, es sei denn, der UART (serielle Schnittstelle) Deines 
Controllers ist frei programmierbar.
Wenn die Baudrate nicht exakt stimmt kann es sein das bei einzelnen 
Zeichen ein Bit falsch empfangen wird.

Gruß
Markus

Autor: Simone (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

Ich arbeite mit dem P16F877.
Als Taktfrequenz habe ich 20MHz.
Die Baudrate ist 9600.


cu Simone

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uff,
den kenn ich leider nicht.
Vielleicht besorgst Du Dir mal ein Datenblatt und überprüfst die 
Einstellungen der seriellen Schnittstelle.
Es kann gut sein das eine Baudrate von 9600 nicht 100% exakt passt bei 
einer Frequenz von 20MHz.
Sorry das ich Dir da nicht mehr helfen kann.

Gruß
Markus

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.