ftdi FT_READ

OP #1892235
Lesenswert?

Hi,
ich habe ein FT4232 Chip, TX habe ich mit RX kurzgeschloßen. Ich habe 
ein Byte gesendet dann gelesen, es hat geklappt. Ich möchte jetzt 2 Byte 
senden dann lesen, das klappt gar nicht!
Für ein Byte habe ich einfach den gleichen Code mit folgende 
Veränderungen verwendet:

Dim TempStringData(1) As String           '' Empfang Buffer
FT_Status = FT_Read_String(FT_Handle0, TempStringData(0), 2, BytesRead)


Aber für zwei Byte bekmme ich falsche Werte(immer 32), kann mir bitte 
jemand helfen?

Code in Visual Basic 2008:
Dim TempStringData(2) As Char           '' Empfang Buffer

Dim strwritebuffer(2) As Char            '' Sende Buffer



'' Senden von zwei Byte
 Do

 strwritebuffer(0) = Chr(1) ''1 in erste Byte schreiben
 strwritebuffer(1) = Chr(2) ''2 in zweite Byte schreiben

 ListBox1.Items.Add(Asc(strwritebuffer(0))) ''1 Byte in ListBox anzeigen
 ListBox1.Items.Add(Asc(strwritebuffer(1))) ''2 Byte in ListBox anzeigen

 ' Write string data to device
 FT_Status = FT_Write_String(FT_Handle0, strwritebuffer, 2, 
BytesWritten)
 If FT_Status <> FT_OK Then
  Exit Sub
 End If
Loop Until (BytesWritten = 2)


'' Lesen von zwei Byte

           i = 0
Wartenaufmehr:


'Get auf number of Byte waiting to be read
 FT_Status = FT_GetQueueStatus(FT_Handle0, FT_RxQ_Bytes)
If FT_Status <> FT_OK Then
 Exit Sub
End If
i = i + 1
If i > 200000 Then
Exit Sub
End If

If FT_RxQ_Bytes < 2 Then GoTo Wartenaufmehr


TempStringData(0) = " "
TempStringData(1) = " "

 Do

 BytesRead = 0

 FT_Status = FT_Read_String(FT_Handle0, TempStringData, 2, BytesRead)

 If FT_Status <> FT_OK Then
  Exit Sub
  Else


  End If

  ListBox1.Items.Add(Asc(TempStringData(0)))
  ListBox1.Items.Add(Asc(TempStringData(1)))
Loop Until (FT_RxQ_Bytes = BytesRead)


 Loop
Gast #1892644
Lesenswert?

Hi,
ich habe bis jetzt keine Lösung gefunden, der Variable BytesRead wird 
nach dem ft_read Befehl auf zwei erhöht, aber ich kann die Dasten nicht 
auslesen, ich verstehe das nicht , ich hoffe gibt jemand der mit FTDI 
erfahrung hat!

Ich möchte ganz einfach 2 Byte aus dem RXBuffer auslesen.
kann mir bitte jemand helfen?

Vielen Dank
S.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren