Копаясь с отчетами/для HID, я столкнулся с странной проблемой в устройстве USB HID. Я реализую устройство класса HID и основываю свою программу на программе HID USB, поставляемой Keil. Некоторые коды были изменены в этом проекте и, похоже, работают нормально с 32 байтами ввода и 32 байт выходных отчетов. Каким-то образом, после того, как передача данных через тысячи раз, Endpoint 1 out зависает и становится плохой трубой. Затем я искал в Google некоторые советы, тема напоминала мне, что мы должны написать нулевой пакет длины данных после отправки длины пакета в соответствии с тем, что вы определили в описании отчета. Но это не работает для меня. Затем я пишу нуль данных в контрольный канал после того, как получаю пакет и волшебным образом, он работает! Он никогда не будет висеть после того, как миллион раз перейдет!usb hid: зачем мне записывать «нуль» в управляющий канал в прерывании от конечной точки
У меня есть вопрос: Почему это работает после записи длины данных в ноль к управляющей трубе. Передача данных в выходной трубе не должна иметь отношения к данным в контрольной трубе. Это меня смущает!
См: [Задать] и, пожалуйста, показать [MCVE]. Вы даже не потрудились завершить 2-минутный тур по сайту, прежде чем спрашивать. –