Я просматривал пример кода на сайте FTDI.После открытия устройства и установки управления потоком данных на RTS / CTS они отправляют и получают данные следующим образом:
' Set RTS
FT_Status = FT_SetRts(FT_Handle)
If FT_Status <> FT_OK Then
Exit Sub
End If
' Set DTR
FT_Status = FT_SetDtr(FT_Handle)
If FT_Status <> FT_OK Then
Exit Sub
End If
' Write string data to device
FT_Status = FT_Write_String(FT_Handle, TextBox4.Text, Len(TextBox4.Text), BytesWritten)
If FT_Status <> FT_OK Then
Exit Sub
End If
Sleep(100)
' Get number of bytes waiting to be read
FT_Status = FT_GetQueueStatus(FT_Handle, FT_RxQ_Bytes)
If FT_Status <> FT_OK Then
Exit Sub
End If
' Read number of bytes waiting
TempStringData = Space(FT_RxQ_Bytes + 1)
FT_Status = FT_Read_String(FT_Handle, TempStringData, FT_RxQ_Bytes, BytesRead)
If FT_Status <> FT_OK Then
Exit Sub
End If
' Close device
FT_Status = FT_Close(FT_Handle)
If FT_Status <> FT_OK Then
Exit Sub
End If
В основном они устанавливают RTS, DTR, а затем записывают данные на устройство.
Это правильно?Если я отправлял несколько раз на устройство, нужно ли мне каждый раз очищать RTS?а затем снова установить его высоко?или я просто устанавливаю высокое значение при каждой отправке новых данных?Почему они устанавливают DTR, если управление потоком определено как RTS / CTS?
Что касается передового опыта, это лучший способ читать и писать?