TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: brutto en 12 de Junio de 2011, 15:33:00

Título: usb_cdc hyperterminal
Publicado por: brutto en 12 de Junio de 2011, 15:33:00
hola,

a alguien le paso que usando el cdc con el hyperterminal de windowsXP recibia los datos pero al mandar caracteres el eco siempre es el mismo?
me pasa con el siguiente codigo (con todos los probados me pasa lo mismo):
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)


#include ".\include\usb_cdc.h"
char c;

void main() {

   delay_ms(300);
   usb_cdc_init();
   usb_init();
   while(!usb_cdc_connected()) {}

   printf(usb_cdc_putc,"\fPROBANDO USB\n\r");
   do {
      usb_task();
      if (usb_enumerated()) {
       if(usb_cdc_kbhit()) {
           c=usb_cdc_getc();
           usb_cdc_putc(c);
           output_high(PIN_c2);
            delay_ms(100);
            output_low(PIN_c2);
            delay_ms(100);
       }
   }
      
   } while (TRUE);
}

el hyperterminal esta configurado a 9600 igual que el driver, la comunicacino pic-pc me va ok, pero si escribo algo ene l hyperterminal lo unico que recibo son } <-- este simbolo. Cambie a usar c como int, char etc. y nada de nada, solo me varia entre el simbolo y recibir 128.

me vuelve loco el usb... por cierto tengo el pickit3 conectado al pic18f4550 todo el tiempo para alimentarlo y demas.
gracias.
Título: Re: usb_cdc hyperterminal
Publicado por: jfmateos2 en 12 de Junio de 2011, 17:18:34
A mí me ha pasado algo parecido hace poco y lo resolví desintalando el driver del USB-CDC y borrándolo, y volviéndolo a instalar (en mi caso creo que estaban entrando en conflicto el driver de CCS C con el de Microchip o el de JAL).

Suerte
Título: Re: usb_cdc hyperterminal
Publicado por: KALLITOS en 12 de Junio de 2011, 17:30:47
Prueba utilizando esto:

printf(usb_cdc_putc,"%c",c);

saludos
Título: Re: usb_cdc hyperterminal
Publicado por: brutto en 13 de Junio de 2011, 11:05:06
pues parece ser que el fallo viene del ccs integrado en mplab. He utilizado un codigo de redpic grabando el pic desde mplab con pickit3 desde su hex y funciona ok, pero si hago un copy+paste de su codigo al mplab y genero el hex desde mplab no me funciona. ¿Un bug de ccs? a ver si aprendo a usar ccs sin mplab y lo genero alli a ver.

gracias por las respuestas

PD: hice build all y compile desde el ccs pcwhd con un copy+paste del fichero c de redpic y me sigue pasando lo mismo, solo me funciona si copio el hex con import desde mplab.
Título: Re: usb_cdc hyperterminal
Publicado por: brutto en 13 de Junio de 2011, 11:36:33
el fallo estaba en el ccs 4.108, compile con el 4.088 y va ok, vaya tela que para algunas cosas necesites el 4.108 y compile en menos espacio y con ese mismo no te funcione el usb_cdc.