At90Usb Отправка Пакета Stall И Nac

28-07-2014, 14:05 От: admin Посмотрели: 472
Всем привет я что то не понял из даташита что надо сделать чтоб device отвечал пакетом stall или nac, как отправить эти пакеты?

вот из даташита

http://www.gaw.ru/ht...90usb/22_11.htm

Цитата




22.11. Передача пакета STALL



Для каждой конечной точки управление функцией STALL осуществляется с использование следующих бит:

  • STALLRQ (разрешение запроса STALL)
  • STALLRQC (отключение запроса STALL)
  • STALLEDI (флаг прерывания по отправке STALL)



Чтобы следующим запросом был отправлен пакет подтверждения STALL, необходимо установить бит STALLRQ. Все последующие запросы будут подтверждаться с помощью STALL до тех пор, пока установлен бит STALLRQC.

Установка STALLRQC приводит к автоматическому обнулению бита STALLRQ. Бит STALLRQC моментально обнуляется аппаратными средствами сразу после его программной установки. Таким образом, при опросе данного бита никогда не возвращается единичное значение.

При каждой отправке подтверждения типа STALL USB-контроллер устанавливает флаг STALLEDI, при этом, генерируется прерывание EPINTx (если оно было разрешено).

Входящие пакеты будут отклонены (RXOUTI и RWAL не будут установлены).

После этого, Host-сторона отправит команду для сброса функции STALL: все, что должна сделать программа в этом случае - это установить бит STALLRQC и сбросить конечную точку.

22.11.1. Особенности работы конечных точек типа CONTROL






Запрос SETUP всегда подтверждается пакетом ACK.

Если для конечной точки типа CONTROL задана передача пакета STALL и, при этом, появляется запрос SETUP, этот запрос подтверждается пакетом ACK, а флаги запроса (STALLRQ) и отправки (STALLEDI) автоматически сбрасываются (RXSETUPI=1, TXIN=0, STALLED=0, TXINI=0...).

Такой механизм упрощает управление процессом перечисления. Если команда не поддерживается или содержит ошибку, программа устанавливает флаг запроса STALL и возвращается к основной задаче, ожидая следующего запроса SETUP.

Данная функция совместима с тестом из раздела 8, в котором отправляется дополнительный статус для GET_DESCRIPTOR. Программа устанавливает запрос STALL только после приема статуса. Все дополнительные статусы будут автоматически подтверждаться пакетом STALL вплоть до следующего запроса SETUP.


<a name="22.11.2" style="font-size: 10pt; color: rgb(14, 80, 203);">22.11.2. Подтверждение типа STALL и механизм подтверждения




Механизм повтора (RETRY) имеет более высокий приоритет, чем подтверждение типа STALL. Подтверждение типа STALL отправляется, если установлен бит запроса STALLRQ и если нет необходимости в повторе.






Там вроде если запишешь 1 в STALLRQ , то по описанию на все остальные запросы будет отправка пакета stall, а мне к примеру может потребоваться отправка пакета только на текущий запрос. Вот это вообще перепутан перевод не понятно

Цитата

Если для конечной точки типа CONTROL задана передача пакета STALL и, при этом, появляется запрос SETUP, этот запрос подтверждается пакетом ACK,

Раздел: AVR

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

Обсудить на форуме


На момент добавления At90Usb Отправка Пакета Stall И Nac все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031