Цитата(oran-be @ Oct 15 2007, 15:42)

AN139 (не 039, как я понял) предназначен для объяснения тонкостей реализации обязательных ЮСБишных фич. Для построения рабочего креатиффа, не углубляясь в типовые дебри лучше использовать АН169 USBExpress. Тем более, что механизм очень похожий, используется ЕР0 в булк режиме. Исходники есть и на хост, и на функцию.
А добавочное прерывание ничем не оличается от обычного, просто силабовские программеры не нашли другого способа разместить функцию обработки запроса, определяемую пользователем по фиксированному адресу. Им из-за такого метода пришлось на шару вколбасить сохранение и восстановление контекста рабочих регистров - 32 такта нагрузки.
кста, чтоб не париться с замедлением при заполнении в стеке, можно указать, что нужно использовать банки памяти спец директивой, вроде :
void UART0_Interrupt (void) interrupt 4
using 1 //Interrupt recieve RI0 and transmite TI0 (page 89)
{
}