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

 
 
> Помогите разобраться с USB
Vladimir_T
сообщение Aug 22 2012, 09:06
Сообщение #1


Знающий
****

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



Здравствуйте, уважаемые коллеги, помогите пожалуйста! Делаю USB-устройство (Device) на МК, ПК мой приборчик принимает, и принимает пакеты правильно, а вот из ПК пакеты идут длиной в один байт, т.е. если из терминальной программы через вертуальный порт отправляю строку, то эта строка приходит в МК не целиком, а побайтно... Буфер конечной точки настроены правильно, т.е. минимальный размер буфера (8 байт). Просматриваю поток с помощью программы USBlyzer так и есть строка передается побайтно... В чем может быть дело?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Aug 22 2012, 11:44
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Есть еще и такая тонкость - У ПК размеры буфера тоже устанавливаются функцией API
SetupComm( handle, wInQueue, wOutQueue);
wInQueue - размер буфера не приём
wOutQueue - размер буфера не передачу
причем оба числа должны быть четными (иначе SetupComm вернет false, проигнорировав установку).

Я не знаю, что там стоит по умолчанию, т.к. сама всегда задаю свои размеры. В основном ради wInQueue, чтобы поток принимаемых байт было где хранить, т.к. в своей программе опрашиваю (ReadFile) виртуальный COM-порт по таймеру раз в секунду.
Go to the top of the page
 
+Quote Post



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

 


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


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