Amigos. Les agradeciera su orientación para este pequeño código pero que no puedo terminar. Lo que estoy haciendo es leer datos que llegan por el usb de mi PC en modo HID, bueno, lo que leo del usb quiero enviarlo por el puerto serie del pic para verlo por hyperterminal. Osea que lo que recibo por USB del PIC lo quiero enviar por el pueto serie del mismo pic.
Bueno pues leo los datos correctamente, pero cuando los envío por el puerto serie para verlo por hyperterminal me salen letras raras, creo que no lo estoy enviando de manera correcta o no estoy capturando bien la cadena.
Aquí el código:
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
}
}
}
}
data[16] es lo que recibo por usb y es lo que necesito enviar por serial al hyperterminal.
Asi lo trato de enviar:
Alguna ayuda por favor.