-
- В общем так: Надоело биться с ветряными мельницами. "Прямой" драйвер HID в RL ARM. Там все пучком - есть правильная функция "usbd_hid_get_report_trigger(0, buf, len)". И прерывание постоянно не щелкает - только когда передаются данные. Цена Гудвин(88 знак., 24.04.2012 09:18)
- Жаба заставила-таки добить гада ;) Душа радОВАеЦЦа: "Program Size: Code=904 RO-data=424 RW-data=16 ZI-data=536". Все пучком - прерывание не дергается, данные шлются только по приказу "партии и правительства"... Вот чо добавил (код ~150 байт): Гудвин(6440 знак., 24.04.2012 19:59)
- А вот так еще экономнее (790 байт), но несколько "черезжопно": Гудвин(1349 знак., 24.04.2012 21:03)
- Как говорят в армии, безобразно, зато единообразно. В предыдущем варианте была ошибочка - при записи в ендпоинт в форграунде нужно запрещать прерывания от USB. Иначе может возникнуть такая ситуация: в форграунде мы говорим LPC_USB->Ctrl = йцукен(19 знак., 25.04.2012 11:43, )
- Так как всем рулит хост, надо отслеживать его активность... Второй вариант действительно более "единообразный", посему лучше юзать его. Только добавить в том же прерывании контроль "забрал ли хост предыдущие данные", прежде чем взвести флажок для Гудвин(7 знак., 04.06.2012 11:06)
- Ага, теперь понятно. Т.к. ещё буду делать буффер на отправку, то буду в прерывании смотреть последняя ли это отправка была из буфера и если да, то выключать флажок. IgorAVR2(319 знак., 04.06.2012 12:50)
- Тоже тиснул не туда ;) - Гудвин(04.06.2012 11:06)
- Опишите пожалуйста ещё раз и доступным языком, где в предыдущем примере есть ошибка и как её исправить. А то сижу и не могу сообразить вчём же эата ошибка... - IgorAVR2(04.06.2012 10:28)
- Так как всем рулит хост, надо отслеживать его активность... Второй вариант действительно более "единообразный", посему лучше юзать его. Только добавить в том же прерывании контроль "забрал ли хост предыдущие данные", прежде чем взвести флажок для Гудвин(7 знак., 04.06.2012 11:06)
- Как говорят в армии, безобразно, зато единообразно. В предыдущем варианте была ошибочка - при записи в ендпоинт в форграунде нужно запрещать прерывания от USB. Иначе может возникнуть такая ситуация: в форграунде мы говорим LPC_USB->Ctrl = йцукен(19 знак., 25.04.2012 11:43, )
- А вот так еще экономнее (790 байт), но несколько "черезжопно": Гудвин(1349 знак., 24.04.2012 21:03)
- Жаба заставила-таки добить гада ;) Душа радОВАеЦЦа: "Program Size: Code=904 RO-data=424 RW-data=16 ZI-data=536". Все пучком - прерывание не дергается, данные шлются только по приказу "партии и правительства"... Вот чо добавил (код ~150 байт): Гудвин(6440 знак., 24.04.2012 19:59)
- В общем так: Надоело биться с ветряными мельницами. "Прямой" драйвер HID в RL ARM. Там все пучком - есть правильная функция "usbd_hid_get_report_trigger(0, buf, len)". И прерывание постоянно не щелкает - только когда передаются данные. Цена Гудвин(88 знак., 24.04.2012 09:18)