Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: VCP:WriteFile to STM32 - периодически не доходит
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
megajohn
добрый вечер.

Есть некая система: с одной стороны PC, с другой стороны STM32 с реализованным USB-VCP

На PC есть приложение которое тупо открывает VCP и пишет три байта [ WriteFile( hPort, ... ) ]

Но возникает одна трабла на 10тысяч-1млн раз - запись в порт не происходит.
То есть если порт открыт без таймаутов [ timeouts = { MAXDWORD, 0, 0, 0, 0 }; ] и некая задача ждет когда VCP отправит три байта, то ждущая задача не дожидается, и выходит по таймауту 11Сек!
Если порт открыт с таймаутами
timeouts.ReadIntervalTimeout = 20;
timeouts.ReadTotalTimeoutMultiplier = 10;
timeouts.ReadTotalTimeoutConstant = 100;
timeouts.WriteTotalTimeoutMultiplier = 10;
timeouts.WriteTotalTimeoutConstant = 100;

то WriteFile возвращает FALSE и NumberOfBytesWritten = 0

а дальше всё восстанавливается

на стороне компа WinXP SP2 + драйвера VCP_V1.3.1_Setup

Кто-нибудь с таким сталкивался ? И если да, то как лечить ?

P.S. конечно эту тему можно отнести к "Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire" но мне кажется что это как раз ближе к ARM:STM32
Golikov A.
у знакомого было такое.
решили считать ошибкой драйвера со стороны винды.
увеличил таймаут чуть ли не до 46 секунд, вроде стало полегче. И добавили переконект на длительное отсутствие активности, кажется...

с цифрами могу наврать, то ли 16 то ли 46, почему то в голове всплывают обе цифры.
demiurg_spb
USB кабель качественный, с фильтрами?
Golikov A.
Цитата(demiurg_spb @ Jan 21 2014, 21:16) *
USB кабель качественный, с фильтрами?

во во, год назад мой знакомый с тех же вопросов начиналwink.gif
megajohn
Цитата(demiurg_spb @ Jan 21 2014, 21:16) *
USB кабель качественный, с фильтрами?


фильтров не вижу, написано что экраннированный вот

вообщем, буду исследовать.

А пока сделал тестилку комппортов, на каждый порт открывается свой поток и пишет непрерывно три байта
Нажмите для просмотра прикрепленного файла
пока лидирует MOXA ( что внутри стоит, не знаю ). STM32 на втором месте

вызывать com_writefile_test.exe 4 60 69 76
Нажмите для просмотра прикрепленного файла
demiurg_spb
Примерно так выглядит хороший кабель.
Golikov A.
ваш 6 футовый, а у ТС 3 футовый....
megajohn
обвинения c STM32 снимаются, причина в WinAPI Events
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.