Autor Tema: Problema con comunicación USB cdc  (Leído 1919 veces)

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

Desconectado xufoo

  • PIC10
  • *
  • Mensajes: 5
Problema con comunicación USB cdc
« en: 20 de Enero de 2011, 11:00:43 »
Hola! Estoy empezando a toquetear el USB haciendo una transmisión emulando RS-232 (modo cdc). Ya tengo las librerías, el PC reconoce el PIC como puerto COM y demás. El problema es que el PIC sí envía correctamente al PC, pero cuando envío algo desde el PC el PIC no lo reconoce (mejor, lo reconoce como 0x00). Estoy utilizando un PIC18f14k50, y programo en CCS.
   Aquí está el programa:


////////////////////////////////////////////////////////////////////////////////
#include <18F14k50.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,PLLEN,NOMCLR
#use delay(clock=48000000)
#include ".\libreria\usb_cdc.h"
#include ".\libreria\usb_desc_cdc.h"

void main() {
   char x;
   set_tris_c(0x00);  // portc como salidas
   output_c(0x00);
   usb_cdc_init(); //configuración inicial
   usb_init(); //inicializamos stack USB
      while(!usb_cdc_connected()){}//espera a detectar una conexión
      do{
         usb_task(); //tareas básicas
         if(usb_enumerated()){ //espera a que el disp. sea enumerado
            if(usb_cdc_kbhit()){ //espera a nuevos caracteres en el buffer
            x=usb_cdc_getc();
                                output_c(x);
            usb_cdc_putc(x);
            usb_cdc_putc(0x62);   // 'b'
            }
       }
      }while(TRUE);
}
//////////////////////////////////////////////////////////////////////////////


  Cada vez que hago un envío desde el PC, el PIC me devuelve 00 62, en lugar de devolver lo que le he enviado yo (el puerto C siempre está a 0)  :?
  Alguien tiene alguna idea?

Desconectado Rulo

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 168
Re: Problema con comunicación USB cdc
« Respuesta #1 en: 20 de Enero de 2011, 13:54:45 »
Prueba cambiando   char x;   por  int x;

          Saludos

Desconectado xufoo

  • PIC10
  • *
  • Mensajes: 5
Re: Problema con comunicación USB cdc
« Respuesta #2 en: 21 de Enero de 2011, 16:24:12 »
He probado ya cambiando por int, y usando distintas funciones de la librería usb_cdc (gethex_usb y demás) y no consigo nada  :?


 

anything