#define F_CPU 12000000L #include #include #include #include #include "usbdrv/usbdrv.h" /* device is detected, however unreliably. dunno why. */ USB_PUBLIC uchar usbFunctionSetup(uchar data[8]) { usbRequest_t* rq = (usbRequest_t*) data; switch(rq->bRequest) { case 0: PORTB |= 1; break; case 1: PORTB &= ~1; break; } return 0; } int main (void) { DDRC=0x00; PORTC=0x00; DDRB=0xFF; wdt_enable(WDTO_1S); /* for (int i=0;i<20;i++) { PORTB|=1; _delay_ms(50); PORTB&=~1; _delay_ms(50); wdt_reset(); } */ usbInit(); usbDeviceDisconnect(); for (int i=0;i<100;i++) { PORTB=~i; wdt_reset(); _delay_ms(5); } usbDeviceConnect(); PORTB=~42; sei(); while(1) { wdt_reset(); usbPoll(); } return 0; // never reached }