PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielles Anschlussproblem ???



Looser
11.08.2008, 13:11
Hallo Leute, ich habe da ein riesen Problem. Ich möchte mit einem AT90S2313 Seriell an meinen Plasma den Befehl des Einschalten senden. Das Program habe ich fertig und die Befehle werden gesendet. Habe ich im Terminalfenster überprüft. Nur beim Anschliessen tue ich mich etwas schwer...
RX TX habe ich über einen MAX232 wie im Bild zusehen angeschlossen. Masse natürlich auch. Nur wo kommt jetzt das RTS ran. Muss ich es an einen Pegel von 12 Volt hängen oder sogar an Masse ???

Ich hoffe jemand hat da einen Tip für mich denn mit dem Laptop klappt alles super wenn ich die Befehle über ein Terminal sende geht der Plasma an. Der AT90S2313 sendet zwar aber der Plasma macht ohne RTS nichts.

Ich bin für jeden Tip dankbar im Voraus.
Gruss Harald

http://www.pictureupload.de/originals/pictures/110808140415_Ansch.jpg

McJenso
11.08.2008, 14:05
Hallo,

ich bezweifel, dass das mit dem RTS-Pin zu tun hat, auch wenn es nicht unmöglich ist. Der RTS-Ausgang des Displays signalisiert nur, dass es bereit ist Daten zu empfangen. In der Annahme, dass das Display schneller Daten annehmen kann als du sendest, wird RTS nicht benötigt.
Wie machst du das mit dem Lapttop? Gibt es da ein bestimmtes Programm für oder nimmst du ein normales Terminalprogramm? Was empfängt der PC, wenn du den AT90 dahin senden lässt.
Du kannst auch probieren zwischen Bytes die du zum Display sendest kleine Pausen zu machen.
Wenn du das Signal wirklich brauchst, kannst du es mit über den max232 führen oder du bastelst einfach einen Spannungsteiler zum Controller hin.

Gruß

Jens

Looser
11.08.2008, 14:51
Ich benutze ein Terminalprogram und sende den String an das Panel und alles funktioniert. Dann habe ich die Leitung RTS getrennt und siehe da es funktioniert auf einmal nicht mehr.
Also muss RTS verbunden sein.
Nur weiss ich nicht wo ??? und welcher Pegel muss dort anliegen ???

McJenso
11.08.2008, 15:54
Hallo,

okay, dann braucht es wohl wirklich das rts Signal. Wenn du dir das Datenblatt des MAX232 anschaust, findest du zwei Pfade für die Signale von RS232 auf 5V. Einmal sind es die Pinne 8 und 9 und einmal 12 und 13. Eines von den beiden Paaren benötigst du schon für das Signal vom Display zum Controller. An das andere Paar schließt du RTS des Display (8 oder 13) und einen I/O-Pin des Controllers (9 oder 12). Der I/O Pin wird als Eingang definiert. Du darfst nur senden, wenn an dem Eingang low liegt sonst ist das Display nicht bereit zu empfangen.
Du kannst vorher auch probieren, zwischen den einzelnen Bytes die du sendest eine Pause zu machen. Wie groß, muss man halt probieren. Die Lösung mit der Pause ist nicht so sauber, aber wenn du damit leben kannst, ist es deutlich einfacher.



Gruß

Jens

PicNick
11.08.2008, 15:56
Da ist das ganz gut gezeigt.

http://www.sprut.de/electronic/pic/grund/rs232.htm

stefan_Z
11.08.2008, 17:07
Schau mal hier:
http://avrhelp.mcselec.com/index.html?config_serialin.htm
Da kannste einfach nen Pin einstellen und gut ist.
Passende Baudrate usw. musste natürlich auch wissen - aber die kannste beim PC abgucken.
ist bestimmt was wie 9600,8,1,n,1

repi64
11.08.2008, 21:13
Da RTS aus dem Plasma an den PC gesendet wird und CTS scheinbar nicht gebraucht wird, braucht der RTS Pin auch nicht belegt sein.
Wenn es mit der offenen RTS Leitung nicht ging, lag es nicht am Plasma sondern am Terminalprogramm, welches als Flussteuerung RTS / CTS verwendet und ohne RTS Beschaltung die Daten gar nicht sendet da Empfänger nicht bereit.
Wenn der RTS Pin nicht beschaltet ist, darf im Terminalprogramm KEINE Flussteuerung aktiv sein.

Hast Du mal getestet, ob die AVR Daten im Terminal empfangen werden?
Stimmen die Timings? Schickst du auch ggf. aus dem µC das CR mit?