示例#1
0
文件: main.cpp 项目: triffid/usbcpp
int main(void) {
    dbgled(0);

    iprintf("start\n");

    uc.attach(&u);
// 	msc.attach(&u);
    ecm.setMAC(mac);
    ecm.attach(&u);

    iprintf("u.dump\n");

    u.dumpDescriptors();

    iprintf("u.init\n");

    u.init();

    sysclock.setTimeout(5 S);

    // because leds[0] is connected to USB_UP_LED signal and usb hardware takes it over
    leds[0].setup();

// 	dbgled(15);

// 	int l = 0;

    while (1) {
// 		u.USBHW::HwISR();
        if (sysclock.poll()) {
// 			iprintf("-------------------\n");
// 			iprintf("USBClkCtrl:   0x%8lX\n", LPC_USB->USBClkCtrl);
// 			iprintf("USBClkSt:     0x%8lX\n", LPC_USB->USBClkSt);
// 			iprintf("USBIntSt:     0x%8lX\n", LPC_SC->USBIntSt);
// 			iprintf("USBDevIntSt:  0x%8lX\n", LPC_USB->USBDevIntSt);
// 			iprintf("USBDevIntEn:  0x%8lX\n", LPC_USB->USBDevIntEn);
// 			iprintf("USBDevIntPri: 0x%8lX\n", LPC_USB->USBDevIntPri);
            iprintf("Fr: %d\n", u.USBCTRL::lastFrame());
        }
        w.feed();
// 		l++;
// 		if ((l & ((1UL << 19) - 1UL)) == 0)
// 			dbgled(l >> 19);
    }
}