[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
>>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