ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
151770 Топик полностью
Ксения (25.03.2009 13:37, просмотров: 194) ответил IgorV на 1 вариант получился так:
На 0005 еще надо инфу принять и в UDADDR загрузить, а то потом работать не будет: void USB_Set_Address( void) { U8 tmp = UEDATX & 0x7F; UDADDR = (UDADDR & (1<<ADDEN))|tmp; UEINTX &= ~(1 << RXSTPI); // Шлем ACK UEINTX &= ~(1 << TXINI); // Шлем ZLP (Zero Lenght Packet) while( !(UEINTX & (1 << TXINI))); // Ждем подтверждения приема ZLP UDADDR |= (1 << ADDEN); } Эти строки взяты мной из чужого проекта и этот отрывок нормально работает, хотя и противоречит тому, что сказано в дататашите на МК (22.7 Address Setup).