Validate VCP

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Validate VCP

Сообщение taras_33 »

Что то моя логика совсем сломалась :)
Возникла проблема с VISA и не могу понять в чем причина.
Communication между LabVIEW и двумя STM32F7 контроллерами организовано по USB CDC. То есть в MAX я вижу два VCP. (Virtual Com Port) Со стороны контроллеров один работает на HS (high speed) второй на FS (full speed) На всякий случай указываю эту информацию, вдруг это важно.
На Win 7 никаких проблем не замечено. И вот клиент обновил старый компьютер на новый с win 10. И вот уже который день пытаюсь понять причину почему не работает связь с одним из контроллеров ( тот который с FS) Причем, не то что бы совсем не работает... Смысл вот в чем: если воткнуть USB кабель в PC, в диспетчере устройств системы и NI МАХ появляется мой порт, я запускаю программу (открываю Visa), все работает. Закрываю программу, запускаю снова и при попытке открыть VISA: (Hex 0xBFFF0000) Unknown system error (miscellaneous error). В МАХ появляется желтый треугольник, не проходит validate. Сбрасываю контроллер и снова открывается VISA без проблем... но только один раз.
Казалось бы - что то не то с USB в контроллере. Но почему тогда В Win 7 все работает, кроме того используя терминальную программу в Win 10 тоже работает, не взирая на желтый треугольник. Открывай-закрывай порт, кабель выдергивай-втыкай обратно все в норме. Такое впечатление что VISA как бы "вешает" порт для самой себя после закрытия. STMicroelectronics рекомендует вместо родного драйвера испоьзовать родной от Win 10 - пробовал и с одним и другим. Результат одинаков. Как я упомянул проблема только с USB FS Вообщем какое то путанное описание проблемы получилось.. Может что кто подскажет. Спасибо.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
alex3f
beginner
beginner
Сообщения: 26
Зарегистрирован: 23 авг 2016, 09:16
Версия LabVIEW: 2016
Контактная информация:

Re: Validate VCP

Сообщение alex3f »

У меня в МАХ появляется желтый треугольник, когда настройки порта в Windows не совпадают с настройками порта в МАХ (например, скорость). Хотя на работоспособность обычно не влияло. Попробуйте поэкспериментировать. Выставить одинаковые настройки в диспетчере устройств и в MAX, которые соответствуют потребностям приложения, а в приложении не настраивать порт.
Аватара пользователя
taras_33

Activity
professional
professional
Сообщения: 391
Зарегистрирован: 31 окт 2009, 18:25
Награды: 1
Версия LabVIEW: 2019
Поблагодарили: 13 раз
Контактная информация:

Re: Validate VCP

Сообщение taras_33 »

Вообщем так и не победил эту ошибку. Сделал через задницу. Перед закрытием VISA сессии, тупо посылаю

Код: Выделить всё

NVIC_SystemReset();
в контроллер. А перед очередным открытием VISA поставил задержку, что бы после reset и открытием VISA, USB порт в контроллере успел инициализироваться и определиться Windows 10. Тупо, глупо и неправильно!
Но работает. Нужно где нибудь накопать, как работать с VCP испоьзуя .net без использования VISA.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
Ответить

Вернуться в «Коммуникация с приборами»