ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
324737
Гудвин, волшебник (23.04.2012 07:41, просмотров: 9680)
Спецы по USB (в частности в LPC1343), есть такая тема: Драйвер HID в ROM штука безусловно правильная, ибо позволяет сэкономить место во flash и упростить жизнь, но в текущем виде бесполезно-кривая. Проблема в том, что InReport постоянно шлет данные в комп. Когда надо и не надо... Соответственно, при при небольшом интервале поллинга и максимальном размере данных (64 байт) даже мой довольно шустрый комп грузит процессор под 6%. Т.е. отсутствует возможность послать NAK при отсутствии данных. Что можно подкрутить? После инициализации ROM драйвера в программе доступен только обработчик прерывания USB (собственно, там все и крутится) и это единственная возможность подлезть, чтобы как то поправить ситуевину. В оригинале там просто вызывается подпрограмма обработчика из ROM. Есть мысль, что можно как то обработать прерываание InReport самостоятельно, заставить принудительно послать NAK, если нет данных. Но "сала в голове", увы, не хватает ;) Может кто-либо решал эту проблему? ЗЫ: Даже примеры HID от NXP, не использующие ROM драйвер, старадают той же болячкой...