[an error occurred while processing this directive] [an error occurred while processing this directive]
Навскидку две вещи насторожили
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Илья Гаврилов 29 ноября 2001 г. 14:59
В ответ на: Ответ: отправлено Logix 29 ноября 2001 г. 14:23

>>write_usb MCNTRL, INT_L_P|NAT|VGE ; Set MCNTRL
>>;End Init------------------------------------------------

Не надо NAT взводить одновременно с VGE. Стабилизатору нужно время, чтобы установилось выходное напряжение. Хотя практически вряд ли это будет источником проблем.

>>;RESET--------------------------------------------------
>>write_usb NFSR, OPR_ST

Я так понял даташит, что надо сначала писать RST_ST, а потом только OPR_ST. Так и в примере от NSC:
if(evnt & RESET_A)
{
write_usb(NFSR,RST_ST);
write_usb(FAR,AD_EN); /* addr = 0 */
write_usb(EPC0,0x00);
FLUSHTX0;
write_usb(RXC0,RX_EN);
/* adjusting ints is nec. here in case we were in suspend */
write_usb(ALTMSK,NORMAL_ALTMSK);
write_usb(NFSR,OPR_ST);
}

И зачем вы пишете в EPC0 0xC0? Ну я понял бы 0x40, а STALL зачем?
Про осциллограф тоже не понял. Ведь на шине всегда есть трафик, ну хотя бы SOF каждую миллисекунду летит. А IN token хост присылает?


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru