Einzelnen Beitrag anzeigen

Tom K.

Registriert seit: 22. Apr 2010
11 Beiträge
 
#8

Re: I²C Ansteuerung über USB Schnittstelle

  Alt 24. Apr 2010, 10:36
Bei sourceforge find ich leider nur die aktuelle Version 5.00 von Async Pro: http://sourceforge.net/projects/tpapro/
Die Anleitung beschreibt die Installation ab Delphi 7. Ich hab 6. Und eine naive Installation schlug leider fehl.
Der Vorteil für mich von Async Pro wäre, dass eine Befehlsreferenz als PDF beiliegt. Zu meiner TComPort 3.0 Version gibts zwar ne Hilfe, aber die kann ich nicht öffnen/installieren

@Alloc: Das Ansprechen mit der FTDI-eigenen API kam mir auch schon in den Sinn. Aber bevor ich die DLL einbinde und mich da reinarbeite, dacht ich, gibt's bestimmt einfachere Varianten. Es ist ja letztlich auch nur ein relativ simples Problem, das ich habe (siehe Beispiel unten). Deine Dateien hab ich erfolgreich installieren können - zumindest hat das kleine Delphi-Fensterchen mir das gesagt Hab das FTDI_D2XX auch immerhin schon unter dem Register "Samples" gefunden *stolz* Aber dann? Hab leider irgendwie den roten Faden verloren... wie sprech ich damit jetzt mein Gerät an?

Zurück zu TComPro:
Meine Sensoren steuern die Servomotoren selbst an, wenn ich ihnen den Befehl dazu gebe. Um z.B. einen Servo auf Position 0 zu drehen, muss ich an den Sensor folgenden Hex-Code schicken:
0x55 0xD0 0x1 0x1 0x0
(heißt: Schreibkommando - Adresse des Sensors - Register im Sensor - Anzahl der zu übermittelnden Bytes - Servoposition)
Da mir schleierhaft ist, was das ominöse "0x" jedes mal davor soll und auch nicht wüsste, welcher Variablentyp das mitmacht, hab ich einfach mal angenommen, dass ich folgendes schicken muss:
55 D0 1 1 0
Mein USB-I²C Adapter liegt am COM2 an.
Was ist im folgenden Code falsch?

Delphi-Quellcode:
procedure TForm1.SendTestClick(Sender: TObject);
begin
ComPort1.Open;

ComPort1.WriteStr(Chr($55)+Chr($D0)+Chr($1)+Chr($1)+Chr($0));

Comport1.Close;
end;
Funktioniert leider nicht. Normalerweise müsste am Adapter auch eine kleine grüne LED blinken, wenn da irgendwas ankommt. Tut sie aber nicht. Der Servomotor macht natürlich auch keine Bewegungen...
Edit: ComPort1.Port ist natürlich auf COM2 gestellt.
  Mit Zitat antworten Zitat