Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FT232R и Windows10
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
MicroDiP
Добрый день. Приложение пишется в CodeGear 2007 (Windows10). Последовательность действий следующая:

1. FT_CreateDeviceInfoList() - запрашивает количество подключенных к системе девайсов
2. FT_GetDeviceInfoList() - читаем информацию об устройстве, в частности его серийный номер
3. FT_OpenEx() - открываем устройство по серийному номеру, полученному в п.2
4. Конфигурация устройства, состоящая из следующих команд:
FT_ResetDevice(Handle);
FT_SetBaudRate()
FT_SetDataCharacteristics()
FT_SetFlowControl()
FT_SetChars()
FT_SetUSBParameters()
FT_SetEventNotification()
FT_SetTimeouts()
FT_Purge()
и далее идёт работа с устройством.

Вопрос: на Windows10 функция FT_SetUSBParameters() отказывается работать (установка InTransferSize в 64 байта, хотя и другие значения также не работают): возвращает ошибку 4 (FT_IO_ERROR). На предыдущих версиях Windows проблем не было (хп, семёрка, восьмёрка). На десятке же не работает. Комментирую эту строку - программа открывается и далее работает. Но с параметрами порта по умолчанию. Пробовал на разных компах с Вин10 - результат тот же. Что это может быть?
MicroDiP
Из мануала:
Функция определена как
Код
FT_STATUS FT_SetUSBParameters (FT_HANDLE ftHandle, DWORD dwInTransferSize, DWORD dwOutTransferSize)

там же написано: Note that, at present, only dwInTransferSize is supported.
Только вот не сказано, поддерживается кем: драйвером или ОС...

И ниже приведён пример, где кроме всего прочего написано:
Код
ftStatus = FT_SetUSBParameters(ftHandle, InTransferSize, 0);

Так везде и писал (с нулём вместо OutTransferSize). И предыдущие Винды это понимали. А десятка - нет. Нужно явно указывать значение:

Код
ftStatus = FT_SetUSBParameters(ftHandle, 64, 64);

И всё работает.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.