Hallo,
ich habe gerade versucht, einen NEC Beamer VT695 über die serielle
Schnittstelle mit einem PC zu steuern.
Als Software habe ich das HyperTerminal Privat Edition verwendet. Das
serielle Kabel habe ich laut der Anleitung von NEC gebaut und schon 2
mal durchgemessen. Es ist also in Ordnung.
Da ich an meinem Laptop keine serielle Schnittstelle mehr habe, verwende
ich einen USB-Seriell-Adapter.
Nun zum Problem:
Egal welche Codes ich zum Beamer schicke, er macht einfach nichts. Ich
habe schon verschiedene Baudraten versucht, aber auch das bringt nichts.
In der Codesammlung von NEC habe ich gesehen, dass der Beamer nach dem
Ausführen von Befehlen Codes über die serielle Schnittstelle
zurückschickt. Wenn ich den Beamer per Hand ausschalte, kommt aber auch
nichts an.
Muss man die Schnittstelle am Beamer vielleicht noch aktivieren oder
liegt es vielleicht an meinem Adapter?
Danke für eure Hilfe
matthias
Verbinde mal den Pin 2 und 3 von deinem Kabel miteinandern (ohne
Beamer), dann sollte jedes Zeichen was du sendest auch wieder
zurückkommen. Damit kannst du erstmal testen ob die Software und dein
Dongel überhaupt etwas senden.
Danke für den Tipp,
habs gerade getestet, funktioniert einwandfrei. Ich hab RxD und TxD am
Adapterkabel (also am Stecker, der an den Beamer kommt) gebrückt.
Demzufolge sollte es gehen.
jetzt weisst du erstmal das das Kabel und die Software funktionieren,
warum der Beamer nicht reagiert wird schwerer.
Stehen denn die genauen Übertragungsparameter fest?
Baud, parität, Bits, Sart und Stop bits?
Ja, die Daten stehen alle in der Anleitung.
Baudrate: 19200bps
Datenlänge: 8 bit
Parität: keine
Stoppbit: 1 bit
X ein/aus: keine
Übertragungsverfahren: Voll-Duplex
Die Baudrate kann man am Beamer aber noch einstellen (19200, 9600,
4800).
Bisher habe ich im Hyperterminal folgende Werte eingestellt:
Bits pro Sekunde: 19200
Datenbits: 8
Parität: keine
Stoppbits: 1
Flusssteuerung: keine
Rufus t. Firefly schrieb:
> Vertausch mal RxD und TxD.
Hätt ich jetzt auch mal gesagt.
Ehe man etwas schlimmeres ins Auge fasst, geht man erst mal von einem
falsch gekreuztem Kabel aus. Eventuell noch fehlende RTS/CTS Leitungen.
RTS und CTS werden in der Anleitung auch nicht aufgeführt.
Deswegen habe ich nur RxD, TxD und Masse angeschlossen.
RxD und TxD habe ich jetzt umgelötet und versuche es nachher mal.
matthias schrieb:
> RTS und CTS werden in der Anleitung auch nicht aufgeführt.> Deswegen habe ich nur RxD, TxD und Masse angeschlossen.
Ist auch einfach mehr so ein Erfahrungswert.
Ein Standardkabel, RxD/TxD RTS/CTS und Masse funktioniert praktisch
überall, egal was die Anleitung sagt. Dazu noch ein Zwischenstecker,
welcher diese 4 Signalleitungen auskreuzt,2 Männchen/Weibchen Umsetzer
und man ist für so ziemlich alle Eventualitäten gerüstet, die einem in
freier Wildbahn so begegnen.
Eine Idee die mir gerade noch kam:
vielleicht übermittle ich die Codes falsch.
In der Codesammlung stehen der Code für das Einschalten so da:
02H 00H 00H 00H 00H 02H
Ich habe die Befehle bisher immer wie folgt im Terminal eingegeben:
02 00 00 00 00 02
Aber werden die einzelnen Zeichen dann auch als HEX-Zeichen übermittelt?
Wohl eher nicht. Ich nehme eher an, dass diese Zeichen in Hex
umgewandelt werden und dann die umgewandelten Hex-Zeichen gesendet
werden.
Aber wie übermittle ich dann direkt Hex-Zeichen?
matthias schrieb:
> In der Codesammlung stehen der Code für das Einschalten so da:> 02H 00H 00H 00H 00H 02H>> Ich habe die Befehle bisher immer wie folgt im Terminal eingegeben:> 02 00 00 00 00 02>> Aber werden die einzelnen Zeichen dann auch als HEX-Zeichen übermittelt?> Wohl eher nicht. Ich nehme eher an, dass diese Zeichen in Hex> umgewandelt werden und dann die umgewandelten Hex-Zeichen gesendet> werden.>> Aber wie übermittle ich dann direkt Hex-Zeichen?
Deine Vermutung stimmt.
Mit Hyperterminal ist das nicht so einfach zu versenden.
Benutze HTerm, damit kann man auch vernünftig 'Nicht-Text' auf den Weg
bringen.
Erstelle mit einem Hex-editor die Zeichenfolge und speicherdiese als
*.txt.
Dann kannst du im Hyperterminal mit "Übertragung->Textdatei senden" das
ganze übermitteln. Mach ich oft so.
Ich stimme zu, hTerm!
Es ist aber manchmal nützlich ein paar "Standard Befehle" als TXT zu
speichern. Gerade bei längeren Zeichenfolgen (hab welche mit ca. 70
Byte).
Jetzt melde ich mich doch nochmal.
Mit HTerm hat das gut geklappt, aber damit nun jeder Benutzer den Beamer
vom Rechner aus steuern kann, ist HTerm nicht gerade geeignet.
Ich hab schon versucht, eine Assembler-Datei zu schreiben, mit der ich
mit den Befehlen IN und OUT auf die serielle Schnittstelle zugreifen
kann.
Irgentwie wollte MASM das aber nicht.
Am besten wäre ein kleines Fenster, in dem ca. 8 Buttons sind, hinter
denen die jeweiligen Befehle liegen.
Vielleicht hat jemand schon mal sowas programmiert.
Danke
matthias schrieb:
> Ich hab schon versucht, eine Assembler-Datei zu schreiben, mit der ich> mit den Befehlen IN und OUT auf die serielle Schnittstelle zugreifen> kann.> Irgentwie wollte MASM das aber nicht.
Na du tust dir da aber eine Menge Arbeit an.
Ein Windows Programm schreibt man doch nicht mehr in Assembler.
Schon gar nicht, wenn man eine GUI Anwendung machen will. Da kannst du
dir auch gleich einen Strick kaufen.
Am schnellsten kommt man unter Windoes zu einer GUI Anwendung mit Visual
Basic oder C#
Für beides gibt es bei Microsoft kostenlose Entwicklungsversionen. Dazu
noch ein Tutorial aus dem Web und in 1 oder 2 Stunden hast du das
Framework fertig. Danach suchst du dir ein Tutorial wie man die serielle
Schnittstelle anspricht.