ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
485821
Dingo (05.02.2014 19:53 - 09.02.2014 09:45, просмотров: 2642) MBedder
at90usb162 будь он неладен! проконтролируйте инициализацию? http://electronix.ru/forum/index.php?showtopic=118741
Потому как условие "сброс" не привязано к протоколу, только к временным интервалам. По началу запрещал всё, кроме RXSTPI - не ловил ничего. разрешаю все USB прерывания, в UD* (vector11) не попадаю, в UE* (vector12) прилетаю, как и ожидается из-за 0-й точки. Но причина - взведён TXINI. При сбросе флага в обработчике или запрете TXINE в прерывание не попадаю вообще. Что происходит, подскажите? Хотя бы пните в нужную сторону, что ли ... LUFA смотрел, читал,что там делается - "вообще" - понимаю, "вот эта строчка" - 95%, но картины в целом не возникает из-за размазаных по файлам дефайнов, условной компиляции и прочих прелестей. тестовый проект на основе темплейта так и не запустил. :( А надо то - проинициализироваться, да поднять 2 EndPoint-a. А у него что, эрраты нет вообще?! А я в даташите уже 2 ошибки нашёл между тем. Описал с логами и исходниками по ссылке. Считаю в прерываниях количество вызовов, и в основной петле выплёвываю на экран.
R.
> 00 5B
> 00 D3
> 00 47
> 00 BF
> 00 36
> 00 AB
> 00 22
> 00 9A
-skip-
> 00 5C
> 00 D4
> 00 4B
> 00 C0
> 01 E2
> 02 E2
> 03 E2
> 04 E2
> 05 E2
Тело "переполняемого" сейчас такое: ISR(USB_COM_vect, ISR_BLOCK) { // Endpoint events //LED_ON; cntCOM++; if (UEINT & (1<<TXINI)) { UEINT &= ~(1<<TXINI); } }