char data[16];
void main()
{
porta=0x00; portb=0x00; portc=0x00; portd=0x00; porte=0x00;
set_tris_c(0b00000000);
usb_init_cs(); // Initializo USB en hardware
delay_ms(1000);
while(TRUE){
usb_task();
if(usb_enumerated()){ // Si el dispositivo ha sido enumerado por la PC
if(usb_kbhit(1)){ // Si endpoint1 tiene datos en su búfer de recepción
usb_get_packet(1, data, 16); // Leer hasta 16 bytes del búfer endpoint1 y guardarlo en datos variables
printf("%s",data);
delay_ms(500); // Muestra los bytes recibidos en la pantalla LCD y espera 500 mS
usb_put_packet(1, data, 16, USB_DTS_TOGGLE); // Devuelve los bytes recibidos
}
}
}
}