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
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.