Entwickler-Ecke
Sonstiges (Delphi) - Wiedermal RS232
unrealer - Di 02.09.08 14:09
Titel: Wiedermal RS232
Hey alle zusammen!
Ich weiß, es hab schon viele Threads über das Thema RS232, ich habe mich auch schon intensiv mit der Suche nach diesem Thema beschäftigt, nur konnte mir keiner dieser Artikel im diesem Forum bislang mein Problem lösen:
Ich habe mir einen ServoController gekauft und zwar unter
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=118&osC. Hiermit lassen sich herkömmlich Servos via RS232 über den PC steuern und zwar verlangt der Controller als erstes Bit 255 dann die Servonummer und dann die gewünschte Servoposition. Ich habe mir hierfür Asny Pro heruntergeladen, nur leider block ich dort überhaupt nich durch. Danach hatte ich mir die Komponente Comm von Torry heruntergeladen, als ich versucht habe, damit meinen Controller anzusprechen, blinkte nur die LEDs, welche signalisierten, das ein falsches Signal übertragen worden war. Kann mir jemand Tips oder am besten Quellcodes geben, mit denen ich das Problem lösen kann????? Wär echt Spitze, sitzt dort nämlich scho ne halbe Ewigkeit dran. THX
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 02.09.2008 um 15:41
Xentar - Di 02.09.08 14:49
Bei Async sind doch sogar Beispiele bei - hast du dir die mal angesehen?
unrealer - Mi 03.09.08 00:29
Habe ich mir schon angesehn, Problem is bloß, das in den Beispielen immer nur ein String übertragen wird. Das jedoch benötige ich nicht.
In der Bedienungsanleitung ist ein Beispiel angegeben, leider jedoch in einer anderen Programmiersprache:
Quelltext
1:
| Print chr(255); chr(7); chr (254); |
und jetzt hab ich leider keinerlei Plan, wie ich das in Delphi umsetzten kann, da ich leider von der Materie nicht allzu viel versteh, da ich das nur Hobby mäßig mache. Kann mir jemand helfen??????
Xentar - Mi 03.09.08 09:19
Wieso kannst du damit nichts anfangen?
Du kannst deine Daten doch auch als String übertragen..
Delphi-Quelltext
1: 2:
| MyString := #255; ApdComPort1.Output := MyString; |
und schon hast du dein Startbyte.
Delete - Mi 03.09.08 10:24
Hallo,
versuch es mal so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); Var buf: Array[0..2] of Byte; begin buf[0] := 255; buf[1] := 1; buf[2] := 123; ApdComPort1.PutBlock(buf,3); end; |
Gruß Frank
unrealer - Mo 08.09.08 01:48
Srry, aber keiner dieser lösungen funktioniert, das Modul zeigt weiterhin an,das es ein fehlerhaftes Signal bekommt. Kann sich vllt jemand die Doku mal herunterladen und mal gucken, wie die das lösen, da sind nämlich auch Beispielprogramme drauf, nur leider net in Delphi.....
Delete - Mo 08.09.08 08:58
Das 3 Byte Protokoll unterstützt nur die Baudraten 2400 und 9600 Baud. Hast du eine davon gewählt?
Ist das richtige Protokoll gewählt? und hast du den korrekten Logik-Level eingestellt.
Beide hier gezeigten Beispiele funktionieren grundsätzlich.(Kannst du überprüfen in dem du mit Nullmodem-Kabel überprüfst ob die
Bytes rauskommen, die du sendest.)
Die Beispiele zeigen eine Ansteuerung mit Bascom, durch einen anderen AVR Controller. Es könnte also sein, dass das Modul standardmäßig auf TTL Pegel eingestellt ist.
Gruß Frank
unrealer - Mi 10.09.08 12:04
mmmh, ok wie man die Baudrate einstellt, is mir ja noch klar, aber wo kann ich den ganzen Rest einstellen????
Xentar - Mi 10.09.08 12:23
Stopbits
Databits
Parity
Handshake
Sollte eigentlich alles im Handbuch stehen, was man da einstellen muss. Wenn nicht:
Google mal nach "PortMon" starte das, und lass das Beispielprogramm laufen. Da kann man soweit ich weiß alle Port Einstellungen sehen, die das Programm vornimmt.
unrealer - Fr 12.09.08 21:10
Hey
Also, momentan siehts so aus, als ob alles funktionieren würde, zumindest leuchtet die richtige LED auf.....
Vielen Dank euch!!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!