ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
332981 Топик полностью
йцукен (04.06.2012 13:16, просмотров: 1) ответил IgorAVR2 на Опишите пожалуйста ещё раз и доступным языком, где в предыдущем примере есть ошибка и как её исправить. А то сижу и не могу сообразить вчём же эата ошибка...
Строго говоря, в данном примере ошибки нет, поскольку USBD_WriteEP вызывается из SetOutReport, которая в свою очередь вызывается из USB прерывания. Тем не менее, в контексте предыдущего обсуждения понятно, что это эхо сделано временно в отладочных целях, а конечная цель - посылать данные только когда есть что послать. Но если вызывать USBD_WriteEP не из прерывания от USB, прерывания от USB на это время надо запрещать. Иначе может получиться так: только мы записали в CTRL регистр InEPNum, происходит прерывание от OutEP, обработчик прерывания пишет в CTRL регистр OutEPNum, и по возвращении из прерывания превед медвед.