Пример QtSerialPort завершается неудачно

Я использую Qt 5.1, и когда мое приложение (которое работало с использованием QextSerialPort в v4.8.4) не смогло связаться, я попробовал пример в … \ 5.1.1 \ Src \ qtserialport \ examples \ serialport \ terminal. И это тоже не удается.

У меня есть простой USB-ключ, который имитирует COM-порт. Если я использую RealTerm, я могу отправлять ему AT-команды и нормально возвращаться.

Но пример терминала, который поставляется с Qt, не связывается с ним. Я посмотрел на отслеживающий API и получаю неуспешное возвращение с ошибкой «997: выполняется операция ввода-вывода с перекрытием» для WaitCommEvent и WriteFile.

Я запускаю его на Windows 7, и я скопировал exe и DLL-файлы на компьютер с Windows 8, и он тоже не смог связаться (хотя я не делал там API-слежку).

У кого-нибудь есть идеи, что попробовать? Как может немодифицированный пример приложения просто потерпеть неудачу? Я сбит с толку.

1

Решение

Пример терминала должен работать. Вы можете отследить проблему, сначала получив cwritersync пример работы.

Если это не работает, попробуйте сделать петлю между линиями RX и TX, которые обычно являются 2-м и 3-м контактами вашего 9-контактного последовательного порта.

Получив эту работу, вы можете пойти дальше и попытаться использовать cwriterasync пример, который является шагом ближе к тому, что использует пример терминала.

Как только это сработает, вы сможете понять, что вы сделали бы неправильно с примером терминала. Это может быть ошибка QtSerialPort, но в этом случае нам нужны все ваши данные об аппаратной среде.

Также, пожалуйста, убедитесь, что в этом случае пример терминала работает нормально, например, в Unices.

0

Другие решения

Пожалуйста, попробуйте Qt 5.2 с доступным модулем QtSerialPort (или попробуйте собрать последнюю версию QtSerialPort из git).

У меня есть простой USB-ключ …

Что такое модель ключа? VID / PID?

…Возврат с ошибкой «997: выполняется операция ввода-вывода с перекрытием.

это не ошибка.

3

По вопросам рекламы [email protected]