реклама на сайте
подробности

 
 
> VCP:WriteFile to STM32 - периодически не доходит
megajohn
сообщение Jan 21 2014, 14:38
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



добрый вечер.

Есть некая система: с одной стороны 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


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Golikov A.
сообщение Jan 21 2014, 16:07
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



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

с цифрами могу наврать, то ли 16 то ли 46, почему то в голове всплывают обе цифры.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 21 2014, 17:16
Сообщение #3


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



USB кабель качественный, с фильтрами?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jan 21 2014, 18:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(demiurg_spb @ Jan 21 2014, 21:16) *
USB кабель качественный, с фильтрами?

во во, год назад мой знакомый с тех же вопросов начиналwink.gif
Go to the top of the page
 
+Quote Post
megajohn
сообщение Jan 23 2014, 06:57
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(demiurg_spb @ Jan 21 2014, 21:16) *
USB кабель качественный, с фильтрами?


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

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

А пока сделал тестилку комппортов, на каждый порт открывается свой поток и пишет непрерывно три байта
Прикрепленное изображение

пока лидирует MOXA ( что внутри стоит, не знаю ). STM32 на втором месте

вызывать com_writefile_test.exe 4 60 69 76
Прикрепленный файл  com_writefile_test.rar ( 49.62 килобайт ) Кол-во скачиваний: 54


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jan 23 2014, 08:03
Сообщение #6


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Примерно так выглядит хороший кабель.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Jan 23 2014, 10:21
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ваш 6 футовый, а у ТС 3 футовый....
Go to the top of the page
 
+Quote Post
megajohn
сообщение Feb 11 2014, 06:10
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



обвинения c STM32 снимаются, причина в WinAPI Events


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 01:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016