Gast
#961018
Hallo, ich möchte aus Excel heraus eine Kommunikation mit dem FT232R herzustellen. Dafür benutze ich den D2xx Treiber von FTDI. Das Modul D2XX_Module.bas habe ich mir von FTDI heruntergeladen und eingebunden. Mit FT_Open (ByVal intDeviceNumber As Integer, ByRef lngHandle As Long) kann ich eine Verbindung zum Device herstellen und danach mit FT_Write (ByVal lngHandle As Long, ByVal lpszBuffer As String, ByVal lngBufferSize As Long, ByRef lngBytesWritten As Long) Daten senden. Probleme habe ich mit dem Empfang. Obwohl ich Bytes sende und auch den Empfang durch die RX_LED bestätigt bekomme kann ich keine Daten auslesen. Zwar enthält nach dem Aufruf FT_Read(FT_Handl, s, 6, byte_read) byte_read den Wert 6 aber der String bleibt leer. Jetzt habe ich mir die noch einmal die D2XX_Module.bas genauer angeschaut: Public Declare Function FT_Read Lib "FTD2XX.DLL" (ByVal lngHandle As Long, ByVal lpszBuffer As String, ByVal lngBufferSize As Long, ByRef lngBytesReturned As Long) As Long lpszBuffer wird hier ByVal übergeben und nicht byRef. Ist das richtig so? Wo wird denn dann mein String zurück gegeben? Der Inhalt der Queue lässt sich auch nicht auslesen. FT_GetQueueStatus (ByVal lngHandle As Long, ByRef lngRxBytes As Long) lngRxBytes hat nach jedem Aufruf den Wert 0. Prinzipiell bekomme ich nach dem Aufruf jeder Funktion den Wert 0 zurück. Soweit ist also in Ordnung. Weiß jemand Rat?