Autor Tema: Datos USB a SERIE  (Leído 1076 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Ruco

  • PIC12
  • **
  • Mensajes: 57
Datos USB a SERIE
« en: 23 de Septiembre de 2020, 17:18:28 »

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:

Código: C#
  1. char data[16];
  2.          
  3.          void main()
  4.          {
  5.          porta=0x00; portb=0x00; portc=0x00; portd=0x00; porte=0x00;
  6.          set_tris_c(0b00000000);
  7.          usb_init_cs();                                                             // Initializo USB en hardware
  8.          delay_ms(1000);
  9.          
  10.          while(TRUE){
  11.          usb_task();
  12.          if(usb_enumerated()){                                                      // Si el dispositivo ha sido enumerado por la PC
  13.          if(usb_kbhit(1)){                                                          // Si endpoint1 tiene datos en su búfer de recepción
  14.          usb_get_packet(1, data, 16);                                               // Leer hasta 16 bytes del búfer endpoint1 y guardarlo en datos variables
  15.          printf("%s",data);
  16.          
  17.          delay_ms(500);                                                             // Muestra los bytes recibidos en la pantalla LCD y espera 500 mS
  18.          usb_put_packet(1, data, 16, USB_DTS_TOGGLE);                               // Devuelve los bytes recibidos
  19.          }
  20.          }
  21.          }
  22.          }

data[16] es lo que recibo por usb y es lo que necesito enviar por serial al hyperterminal.

Asi lo trato de enviar:

Código: C++
  1. printf("%s",data);

Alguna ayuda por favor.



 

anything