Можно ли использовать D2XX для взаимодействия с устройством, не использующим FTDI?

#windows #serial-port #ftdi #d2xx

Вопрос:

Это в Windows 10.

В моем проекте мы ранее использовали D2XX для взаимодействия с устройством FTDI USB-последовательный. Это сработало великолепно.

Теперь мы представили дополнительное устройство USB-последовательного подключения, но я только что понял, что на самом деле это было не устройство FTDI. Он отображается как универсальное «USB-последовательное устройство Microsoft».:

введите описание изображения здесь

Поэтому, конечно, библиотека FTD2XX не распознает ее, и она не появляется, когда мы перечисляем подключенные устройства через FT_GetDeviceInfoList.

Интерфейс D2XX — это фирменный интерфейс, предназначенный специально для устройств FTDI.

Я знаю, что простое решение состоит в том, чтобы не использовать D2XX для этого устройства, а использовать общий интерфейс Windows Fileapi.

Однако, чтобы уменьшить дублирование кода, мне интересно, есть ли способ «обернуть» универсальный драйвер, чтобы мы могли взаимодействовать с ним с помощью библиотеки FTD2XX?

Комментарии:

1. Нет, ни один драйвер, кроме FTDI, не поддерживает вызовы IOCTL, которые выполняет библиотека FTD2XX.

2. Они будут зависеть от функций D2XX, которые вы используете. Это зависит от того, могут ли они быть реализованы Win32API по разумной цене. Проще всего, если вы используете только функцию совместимости D2XX Win32API (FT_W32_Xxxx). В этом случае, в дополнение к общему файловому API, доступны эти API, специализирующиеся на обработке последовательных портов. Коммуникационные функции

3. используете ли вы только функции VCP устройств ft? Если это так, вы могли бы вместо этого использовать общие функции Windows (CreateFile, GetCommState и т. Д.).

4. Нет, мы используем такие функции, как FT_GetDeviceInfoList.