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

 
 
 
Reply to this topicStart new topic
> AТ91SАM9G45: USB прерывания. =(, Пропадают некоторые прерывания USB при работе эмулятора клавиатуры
Chestor
сообщение Mar 21 2011, 14:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 23-11-10
Пользователь №: 61 098



День добрый.
У меня вопрос к тем, кто знает USB и работал с клавиатурным интерфейсом.
Надо разработать устройство на МК, эмулятор клавиатуры, чтобы вместо человека печатал всякий бред (быстро и качественно)
Запустил для начала из IAR пример HID-клавиатуры (это ж как раз то, что мне нужно!). Пример там печатает один символ при нажатии на одну клавишу... Подправил немного код, чтобы печатал несколько символов вместо одного - и тут затык! smile3046.gif Открываю блокнот, запускаю эмулятор и вижу, что некоторые символы "выпадают"... Дебаг-сообщения в DBGU показывают, что на момент отправки пакета IN с новыми статусами клавиш USB-device был свободен (pEndPoint->status == IDLE). После отправки USBD_Write() возвращает значение USBD_STATUS_SUCCESS. Со стороны контроллера все выглядит так, будто пакет успешно передан.
На ПК снифферю эмулятор клавиатуры и вижу, что некоторых передач по прерыванию со статусом нажатых клавишщ не хватает (выглядит так, будто и не приходило на ПК ничего)... laughing.gif
Если ввожу паузы в программу от передачи к передаче, то все работает, но мне нужна максимальная скорость набора текста. От лишних пауз настроение портится, не хочется как-то заморачиваться потом над "точной настройкой пауз", дающей максимум скорости при минимуме ошибок, тем более, что передача по прерываниям должна обеспечивать доставку пакетов... crying.gif...
Вот и не зна что делать, прошу помощи... Кто может, подскажете можт чё? То ли, статус обновляется как-то неправильно (невовремя)? Или может быть такое, чтобы контроллер ПК принимал пакет, говорил устройству, что принял, но в ОС не выдавал?... cranky.gif
Заранее длагодарен всем ответившим за помощь... Спасибо!
Go to the top of the page
 
+Quote Post

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

 


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


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