Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91SAM9XE512. UDP. Cделанное на этом МК HID - устройство иногда отвечает на запрос Set_Report пакетом Data0 вместо Data1
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
kovigor
Т.е., хост высылает запрос, МК его подтверждает, затем хост шлет однобайтовый OUT - пакет с REPORT'ом (например, это может быть команда на включение/выключение лампочки NumLock), после чего МК должен в фазе статуса вернуть хосту пакет Data1 нулевой длины. Все так и происходит, но иногда (примерно один раз из 20-ти) МК отвечает пакетом Data0. Конечно, хост его подтверждает, но ему нужен пакет Data1, он шлет очередной In - пакет, МК говорит NAK, и так до бесконечности. Все это показывает аппаратный сниффер, подключенный к линиям шины. Чем может быть вызвана такая проблема ? В errate по этому поводу ничего нет ...
kovigor
Наконец-то снова добрался до этого проекта. Чисто случайно заметил, что эта ошибка почти никогда не происходит, если не загружать обработчик прерывания от UDP посторонними ресурсоемкими делами (например, сейчас он у меня выводит по UART кучу отладочной информации; если этот вывод убрать, ошибка почти пропадает, т.е., дело явно не в аппаратуре МК) ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.