[an error occurred while processing this directive]
|
Что-то типа
//--------------------------------------------------------
void InitUSB(void)
{
_DINT();
USB_CS0;
InitIntrptUSB();
InitEP(); // ini endpoint
InitDMA();
USB_load(DevAddr,DEVEN);
USB_State = USB_DEFAULT;
USB_load(IRQ,0xff);
USB_load(IRQ+1,0xff);
USBCTLIFG=0;
_EINT();
}
//--------------------------------------------------------
void InitIntrptUSB(void)
{
char buf;
USB_load(USB_MODE+1,DMACLKON); //
USB_load(IntEnable,IEBRST|IESUSP|IERESM|IEHS_STA|IEVBUS);
USB_load(IntEnable+1,IEP0SETUP+IEP0TX+IEP0RX);
USB_load(IntEnable+2,0x00); //
USB_load(IntEnable+3,0x00); //
buf = USB_read(USB_MODE+1);
if (buf & VBUSSTAT)
{
USB_load(USB_MODE,SOFTCT|GLINTENA|CLKAON);
USB_status |= USBConect;
}
else
{
USB_load(USB_MODE,CLKAON|GLINTENA);
USB_load(USB_MODE,CLKAON|GOSUSP|GLINTENA);
}
}
E-mail: info@telesys.ru