mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EA eDIPTFT43-A Problem mit rs232


Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr geehrte Damen und Herren!
Ich habe hier vor mir ein ediptft43-atp liegen und die Kommunikation via 
PC über RS232(Hyperterminal->USB-Bridge->Display auf Steckbrett) 
funktioniert nicht. Ich bekomme im Hyperterminal egal was ich sende kein 
ACK oder NAK zurück. Auch wird am Display nichts angezeigt. Quasi als 
würden die Daten nicht ankommen. Habe die TX-Leitung mit dem Oszi 
überprüft und es findet Verkehr statt. Wie kann ich nun das Display 
dazubringen meine Befehle umzusetzen?

mfg
Vali H.

Autor: Gastbenutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal EAs lcdterminal.exe ausprobieren.
Ansonsten HTerm, das kann mit Sicherheit auch Steuerzeichen darstellen.

Autor: Ak Tronik (aktronik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Vali H.

RS232-Pegel kann das Display nicht! Nur TTL-Pegel.

MfG
Ak Tronik

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit dem EA lcdterminal.exe funktioniert es nur auf dem USB-Programmer 
(Zubehör)
Aber ich möchte nun das Display direkt ansprechen ohne diesen 
Programmer, um dann später auf den µC umzusteigen.

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ak Tronik schrieb:
> Hallo Vali H.
>
> RS232-Pegel kann das Display nicht! Nur TTL-Pegel.
>
> MfG
> Ak Tronik

Jaja schon klar, von der Bridge kommen auch nur 0-5V. (kein 
Pegelwandler)

Autor: Gastbenutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> mit dem EA lcdterminal.exe funktioniert es nur auf dem USB-Programmer
was heisst das?
Das ist ja nichts anderes, als was du vorhast, nehme ich an.
Da du die situation nicht konkret schilderst:

signale vertauscht
bridge fehlerhaft (loopback)
display falsch konfiguriert (beschaltung)

Autor: Ak Tronik (aktronik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltungsmäßig kann man nicht viel falsch machen.

1   GND
2   VCC
10  RX

Ohne Lötbrücken ist die Baudrate 115200.

MfG
Ak Tronik

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um Missständen vorzubeugen hier mal meine Beschaltung:

PIN
1 -> GND
2 -> VCC von Labornetzgerät
3 -> N.C.
4 -> N.C.
5 -> High (Reset)
6 -> N.C. (Baud0)
7 -> N.C. (Baud1)
8 -> GND (Baud2) 9600Bd ?
9 -> N.C.
10 -> TxD von Bridge
11 -> RxD von Bridge

und sonst hab ich nichts mehr verbunden. Habe ich hier irgendetwas 
vergessen?

Ja ist schon richtig das ich das so will wie bei lcdterminal.exe, aber 
welche befehle muss ich senden damit das ganze mit Hypterm auch 
funktioniert?

lg

Autor: Ak Tronik (aktronik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Befehle Du senden musst, steht doch im Datasheet!?!

MfG

Ak Tronik

Autor: Gastbenutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> mit dem EA lcdterminal.exe funktioniert es nur auf dem USB-Programmer

> Ja ist schon richtig das ich das so will wie bei lcdterminal.exe, aber
> welche befehle muss ich senden damit das ganze mit Hypterm auch
> funktioniert?

Was nun? Funktioniert es mit lcdterminal.exe doch?

Wenn es mit deiner Hardware und dem lcdterminal.exe läuft, geht's 
weiter.

Autor: Gastbenutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
(betonung auf > .. auch .. )
Umgekehrt: Probiere Deine Befehle auf dem Programmer aus.
In jedem Fall, wie schon erwähnt, aber ohne Reaktion: HTerm

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit dem lcdterminal funktioniert es nur mit der Hardware von EA 
(USB-Programmer) mit meiner Hardware nicht.
Es ist so dass ich im lcdterminal gar nicht auf meine hardware zugreifen 
kann.
Wenn ich jetzt z.B. den Befehl Display löschen (#DL) senden will über 
HypTerm muss ich doch folgendes eingeben:

$11$03$1B$44$4C$BF

$11 für <DC1>
$03 für 3 Byte Datenlänge
$1B für ESC
$44 für D
$4C für L
$BF ist die Checksumme


oder habe ich hier etwas falsch verstanden?

lg

Autor: Ak Tronik (aktronik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, sendet HypTerm nicht Werte im ASCII-Format?
Wenn das so ist, dann kannst Du nicht einfach $11$03$1B$44$4C$BF 
eingeben.
Es müssen die zB. hex-Werte 11 03 1B 44 4C BF sein und nicht die 
Zeichen:
'$' '1' '1' '$' '1' 'B' '$' '4' '4' '$' '4' 'C' '$' 'B' 'F'

Meine ersten Gehversuche habe ich mit der o.g. minimalschaltung und 
HTerm von Tobias Hammer bei 155200 Baud gemacht.
Mit HTerm kann man, bis auf oktal, alle Zahlensysteme einstellen.
Ist ne SUPER-Software.

MfG
Ak Tronik

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok vielen dank!
werde das morgen sofort probieren.

lg und schönen feierabend

Autor: Ak Tronik (aktronik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähhmm, es waren natürlich 115200 Baud.

MfG
Ak Tronik

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Da bin ich nun wieder. Bin in der letzten Woche nicht mehr dazu 
gekommen, das auszuprobieren.
Habe es jetzt ausprobiert, aber es funktioniert leider überhaupt nicht.
Ich kann mit dem HTerm senden was ich will es kommt nichts zurück und am 
Display wird auch nichts ausgegeben. Schön langsam bin ich hier am 
verzweifeln :(
Woran kann es noch liegen? Bzw. reicht es wenn die init.kmc im Flash ist 
oder muss noch mehr drinnen stehen oder weniger?!
lg

Autor: M. H. (doktorgnadenlos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin gerade über diesen Thread darübergestolpert.
Ohne, dass ich alle Beiträge gelesen habe, hier ein Hinweis :
Ich habe mit dem EAKIT320-8 gearbeitet. Das wird direkt an eine RS232 
angeschlossen, der Pegelwandler ist bereits integriert.
Das Display sendet aber nur Daten, wenn die Handshakeleitung CTS auf 
HIGH liegt. Daher ist der Pin RTS mit dem Pin CTS zu verbinden.

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
So ich bins wieder mal. Ich habe es jetzt mit einem Atmega32 über die 
Uart probiert. Auch darauf reagiert das Display nicht. Ich weiß wirklich 
nicht mehr weiter :(
Was mach ich hier wirklich falsch? Einen Defekt des Displays kann ich ja 
insofern ausschließen, da es ja über den USB-Programmer und 
lcdterminal.exe funktioniert.
lg

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Update: Ich sende nun das Bsp. aus der Anleitung zum Zeichnen einer 
schrägen Linie quer über das Display. Doch am Display wird immer das 
Zeichen 'NUL' ausgegeben. entspricht glaube ich 0x00. Wieso erkennt es 
das nicht?
lg

Autor: Gastbenutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> das Bsp.
> Wieso erkennt es _das_

Deine Chancen auf Hilfe steigen exponentiell, wenn man nicht erst 
erraten muss, was du eigentlich meinst.

Allgemein:

es nützt meistens nicht viel, eine neue Baustelle aufzumachen, bevor das 
alte Problem nicht gelöst ist. S.o.

Wenn das Display Terminal spielt, also Zeichen ausgibt, bedeutet das 
meistens, dass ein Befehl nicht als solcher interpretiert wurde.

NUL ist häufig in Befehlsdaten drin (z.B. Koordinaten) oder bei 
Zeichenketten das Abschlussbyte.

Bekommst Du denn auf ein Datenpaket im small-protokoll ein <CR> zurück?

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok Sorry. Das Beispiel ist folgendes:

$11 $0E $1B $44 $4C $1B $47 $44 $00 $00 $00 $00 $DF $01 $0F $01 $60
DC1 len ESC  D   L  ESC G   D      0       0      479      271  bcc

zurückbekommen müsste ich:

$06
ACK


Aber ich bekomme leider überhaupt nichts zurück.

lg

Autor: urgs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht mir gültig aus.

Fehlerquellen:
 Baudrate stimmt nicht (Baudratenquarz, siehe Fehlertabelle im AVR 
Datenblatt)
 Protokoll deaktiviert (Pin 17 low)
 Problem mit RX am Host

Hast du einen RS232 Loopback Stecker?(RX, TX, RTS, .. gekreuzt)? Dann 
sendet man an sich selber. Zum Testen der Schnittstelle ganz praktisch.

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also habe schon das gesendete Signal vom Mikrocontroller mittels eines 
Terminalprogramms am PC überprüft. Es wird das richtige Signal gesendet.
Baudrate ist am Atmega und am Display auf 2400 eingestellt.
Wenn ich den PIN17 (Disable Small Protokoll) auf low lege, dann wird 
'Nul' ausgegeben. Wenn es offen gelassen wird (also small protokoll 
aktiviert), dann passiert überhaupt nichts.
Welche Probleme mit RX kann es da geben am Host?
lg

Autor: urgs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch wieder Baudrate, kalte Lötstelle..

Du könntest, falls du kein Oszi hast, nach dem Pegelwander auch den PC 
an die serielle anschliessen und so die Daten mitlauschen.

Ich würde nach wie vor erst die Ansteuerung mit dem PC machen und die 
eigene Hardware zum Laufen bringen, bevor das über den AVR läuft.

Was ist denn, wenn du den Original-Adapter benutzt und dieses 
Befehlspaket schicktst? Du sagst, die Hardware ist i.o., das Paket sieht 
i.o. aus, also müsste das doch klappen.

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich lausche mit einem Terminalprogramm am PC mit. Und es kommt auch 
richtig an.
kalte Lötstellen sind auszuschließen, da ich erst einen Steckbrettaufbau 
habe.
Wenn ich jetzt den Originaladapter verwende, welche Baudrate muss ich 
dann einstellen?

Autor: urgs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
?!
Ich nehme an, dass du mit deinem Adapter auch (d)eine Aleitung bekommen 
hast? Hast du da schonmal reingeguckt?

(http://www.lcd-module.de/pdf/zubehoer/9777-1.pdf)

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok erste Erfolgsmeldung. Über den Programmieradapter funktioniert der 
Befehl jetzt mit 115200 baud. Jetzt stellt sich die Frage sind die 
115200 baud fix eingestellt im Display? Weil so eine hohe baudrate wird 
mit internem osc nicht funktionieren.

Autor: urgs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. Lesen!

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja hab schon gelesen, dass das auf der Adapterplatine auf 115200 
eingestellt ist. Aber danke für die Anleitung, weil diese habe ich nicht 
dazu bekommen. :)
Wieso funktioniert das dann mit den 2400 baud nicht über den 
mikrocontroller? Muss doch an der Hardware liegen oder?

lg

Autor: RN (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Baudrate musst Du einstellen per Drahtbrücke. Bei 2400 muss Pin 6 
auf Masse gelegt werden. Kann doch nicht so schwer sein eine Anleitung 
zulesen. Wenn Du das nicht verstehst, ist es besser, Du legst das 
Display auf die Seite und lernst erstmal das geschriebene zu verstehen!

Autor: RN (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry Spalte verwechselt.

Pin 7 und 8 auf Masse!

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast nicht den ganzen beitrag gelesen, kann ich dir auch nicht 
vorwerfen, diesen lesen zu müssen. aber habe oben geschrieben, dass ich 
die baud so eingestellt habe. nein das ist nicht der fehler. es muss wo 
anders liegen.

Autor: Vali H. (davali)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
So das ganze funktioniert jetzt auch ohne den USB programmer, nur mit 
einer USB/uart Bridge, aber nur bei 115200 baud. egal wie die pins 
Baud0..2 beschaltet sind ?

lg

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.