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


von Vali H. (davali)


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.

von Gastbenutzer (Gast)


Lesenswert?

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

von Ak T. (aktronik)


Lesenswert?

Hallo Vali H.

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

MfG
Ak Tronik

von Vali H. (davali)


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.

von Vali H. (davali)


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)

von Gastbenutzer (Gast)


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)

von Ak T. (aktronik)


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

von Vali H. (davali)


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

von Ak T. (aktronik)


Lesenswert?

Welche Befehle Du senden musst, steht doch im Datasheet!?!

MfG

Ak Tronik

von Gastbenutzer (Gast)


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.

von Gastbenutzer (Gast)


Lesenswert?

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

von Vali H. (davali)


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

von Ak T. (aktronik)


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

von Vali H. (davali)


Lesenswert?

ok vielen dank!
werde das morgen sofort probieren.

lg und schönen feierabend

von Ak T. (aktronik)


Lesenswert?

Ähhmm, es waren natürlich 115200 Baud.

MfG
Ak Tronik

von Vali H. (davali)


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

von M. H. (doktorgnadenlos)


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.

von Vali H. (davali)


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

von Vali H. (davali)


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

von Gastbenutzer (Gast)


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?

von Vali H. (davali)


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

von urgs (Gast)


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.

von Vali H. (davali)


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

von urgs (Gast)


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.

von Vali H. (davali)


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?

von urgs (Gast)


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)

von Vali H. (davali)


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.

von urgs (Gast)


Lesenswert?

Nein. Lesen!

von Vali H. (davali)


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

von RN (Gast)


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!

von RN (Gast)


Lesenswert?

sorry Spalte verwechselt.

Pin 7 und 8 auf Masse!

von Vali H. (davali)


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.

von Vali H. (davali)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.