Цитата(svss @ Aug 29 2012, 17:05)

Аппаратный handshake (RTS или CTS или XonOff) относится только к Вашим проводам которые здесь есть аппаратный GPIO FIFO.
То есть фишки от COM-порта нипричём. (Детали существуют, но только если Вы глубоко влезаете внутрь чипа и пользуете недокументированное, что не похоже на эту тему)
Странно, ибо с VCP драйвером - эмуляция СОМ порта должна быть 100%....
Возможно програмно и можно вычитывать СTS состояние, но при использовании FTDI.VCP драйвера оно не работает "по-чесному" как в реальном СОМ, а просто всегда поставлено в СTS=1 (чтобы обмануть программу и всегда розрешать писать в порт. по типу нульмодема).
Хотелось-бы это подтвердить документально.....
Чё-то описание особенностей роботы с FTDI.VCP драйвером не находил....
Да и странно отсутствие хендшейкинга....
Цитата(svss @ Aug 29 2012, 17:05)

Есть аппаратный хендшейк TXE/RXF. Никаких программных настроек не требуется.
Это понятно, но это со стороны железки (FIFO), а у меня проблемы на стороне программы.
Программе тоже нужен хендшейк... При роботе с чесным ПС СОМ портом я всегда использовал хендшейкинг в программе.....
Цитата(svss @ Aug 29 2012, 17:05)

Скорости обмена тоже нет, сколько ни устанавливайте бодрейт. Со стороны USB - скорость USB, со стороны GPIO - ваша печаль.
Вы пишете в COM-порт с любой скоростью, USB передаёт как умеет. Всё, что не выгребается со стороны GPIO прилипает в FIFO.
Как только FIFO заполняется, USB перестаёт мочь передавать, и некоторое количество байт прилипает в очередях драйвера и HAL.
Начинаются тормоза.
Это конечно странно....
При работе с D2XX драйвером, программа может получать от него обратную связь через FT_GetStatus(), FT_GetModemStatus, и тем самым не переполнять все буфера.
1) Зачем при таком розкладе тогда вообще FT_GetModemStatus, FT_SetBaudRate, FT_SetFlowControl?
2) Что тогда задаёт FT_SetBaudRate если по Вашему "Скорости обмена тоже нет, сколько ни устанавливайте бодрейт"?
3) Вопрос в том, как работать со статусом модема в VCP драйвере?
Собственно я даже умею получать состояние СTS, но оно почему-то константа....
Цитата(svss @ Aug 29 2012, 17:05)

А, да, Вы спросили чего читать..
D2XX_Programmer's_Guide(FT000071).pdf
Страница примерно 35.
FT_GetStatus()
К сожалению это о D2XX но не о VCP драйвере....
4) Я так понял, что вы используете D2XX драйвер.
Для гарантии непереполнения буферов, вы используете FT_GetStatus().
Правильно?
А FT_GetModemStatus() пробовали (RTS\CTS)?
------------------
Кстати, неужели никто не пользуется хендшейкингом при написании Win софта при роботе с FTDI?
Цитата(alexPec @ Aug 29 2012, 15:48)

У меня всегда выставляется битрейт, который указываю при открытии порта
А где и как Вы видете какой битрейт установился?