Hallo, habe wieder mal eine Frage bzgl. dem Lesen aus einem FT245RL. Ich benutze hierfür den CDM (Combined Driver Model) mit der FTD2xx DLL. Es ist wirklich sehr bequem mit Hilfe der zur Verfügung gestellten Funktionen zu programmieren. Mit dem VCP habe ich es nicht zu 100% hinbekommen, aber die Geschwindigkeit von ca. 300kByte/sek. wäre ja ohnehin nicht so berauschend. Aber nun zum eigentlichen Problem! Im Programmierhandbuch der D2xx.dll stehen die Methoden in der Sprache C detailiert drin. Ich programmiere zur Zeit in VB6. Das ist im Grunde kein Problem. Der Loopback-Test funktioniert 1A und alle anderen Funktionen funktionieren nach erfolgter Deklaration auch. Die Funktion "FT_Read" bekommt als Argument den Handler (Nummer, die das FT245RL genau repräsentiert), ReadBuffer(hier wird der gelesene Inhalt gebuffert), BytesToRead (gewünschte Anzahl von Bytes, die gelesen werden sollten) und zum Schluss als Parameter noch BytesRead (tatsächliche Anzahl von Bytes, die definitiv gelesen worden sind). Wenn alles geklappt hat und BytesToRead und BytesRead ident sind, wird von der Funktion 1 bzw. FT_OK zurückgegeben. Das habe ich richtig verstanden. Das Problem, was ich jetzt habe ist, dass es in VB6 keine Referenzen gibt (so wie in C). Im Programmierhandbuch wird ein statisches Feld dieser Read-Methode zurückgegeben, die dann, sofern ich das recht verstehe, Byte für Byte in dieses Feld abspeichert. Ich kann in VB6 aber nur eine Variable als Buffer nehmen. Bei mir beispielsweise ergeben jeweils 4 Bytes eine ganze Zahl. Deshalb darf ich nur ein Vielfaches von 4 Bytes aus dem FT245RL lesen. Zuerst kommt das niederwertigste Byte und zum Schluss das höherwertigste Byte. Wenn ich jetzt zum Beispiel 256 Bytes mit FT_Read lese, werden in der Buffervariable alle 256 Bytes drin stehen. Jedoch weiß ich nicht, wie ich die dann zu einzelnen Dezimalzahlen zusammenstoppeln soll. In C wäre das ja kein Problem, da es dort Referenzen gibt und ich einen Buffer in Form eines ganzen Feldes übergeben könnte, der mir die einzelnen Bytes hält - sofern ich das richtig verstanden habe. Ich hoffe, ich habe mein Problem einigermaßen präzise geschildert und nicht zu viel unnötige Informationen gepostet. Ich habe nur deswegen so viel geschrieben, weil ich zeigen wollte, dass ich trotz intensiver Überlegungen eine kleine Hilfe brauche! Danke! lg, Willi
> Ich programmiere zur Zeit in VB6. Falsches Forum? Besser dort fragen: http://www.mikrocontroller.net/forum/pc-programmierung
Danke für den Hinweis! Da das FT245RL mit einem FPGA von Altera (APEX) kommuniziert, hat mich das etwas verwirrt! lg, Willi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.