Hallo, ich arbeite gerade an einer Steuerungsoftware für meinen selbst gebauten Plotter. Ich hab vor das mit Delphi zu machen (da ich das schon ein bisschen kenne und in der Schule eh Pascal lernen muss/darf). Die Kommunikation läuft über den Com Port und ich benutze diese vorgefertigten Funktionen hier um diesen anzusteuern:
http://www.swissdelphicenter.ch/de/showcode.php?id=841
Ich habe in einem Bascom Programm schon ein paar Befehle einprogrammiert, auf die er reagieren soll wenn diese über RS232 reinkommen. Wenn ich nun diese Befehle übers Bascom Terminal schicke funktioniert dies auch Tadellos.
Mein improvisiertes Terminal mit Delphi funktioniert auch soweit, dass der MC die Befehle empfängt und auch scheinbar korrekt auf dem LCD ausgiebt.
Das Merkwürdige ist nur: Er reagiert nicht auf die Befehle!
Selbst wenn ich den MC so programmiere, dass er den ersten Befehl der ankommt auf eine Variable speichert und bei allen weiteren Eingaben die den selben Inhalt haben (wie diese Variable) eine Aktion ausführt, passiert nichts! Das ist irgendwie ziemlich merkwürdig...
Ich dachte erst, dass es vielleicht daran liegt, das Delphi die Zeichen einzeln nacheinander sendet und der MC dann jedes einzelne Zeichen als eine Eingabe ansieht, doch dann müsste die Ausgabe (er sendet immer die Eingegangenen Befehle zurück) komplett anders sein.
Könnte es vielleicht hier dran liegen:
Also an dem Zeilenumbruch, der an den String gehängt wird, welcher dann auf dem Comport ausgegeben wird? Ich weiß zwar nicht wirklich was die "+ #13 + #10" machen, aber ohne sendet er garnichtsCode:An den übergebenen String einen Zeilenumbruch (#13 + #10) hängen } s := s + #13 + #10;
Achso zur Information, ich benutze (da ich am Laptop keine Comports habe) den USB-RS232 Adapter von Reichelt. Bisher hatte ich aber damit keine Probleme und mit Bascom und Megaload funktioniert er sehr zuverlässig.
Okay, schonmal vielen Dank fürs lesen, ich hoffe hier gibt es wen der auch RS232 mit Delphi macht.
Lesezeichen