Forum: Mikrocontroller und Digitale Elektronik ftdi FT_READ


von Sabine M. (zizo)


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

von Sabine Mühller (Gast)


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.

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
Noch kein Account? Hier anmelden.