oeg2: Yo habia leido tu mensaje, pidiendo la ayuda, pero la verdad estaba muy ocupado, aun lo estoy un poco, pero como te dije, la informacion estan en la pag q te pase y en el principio de este foro, a diferencia del HID con el CDC debes tener un driver, que te va hacer la comunicacion entre el PC y el PIC, por eso quizas vez mas facil el HID, porq es la interfaz humana, como un Mouse, que tu no instalas los driver sino el solo lo hace!!! es mas practico el HID en ese sentido, pero con CDC puedes hacer mas!!
En fin, ya que ahora tienes mas tiempo para aprender, te invito a que trates de hacer la comunicacion CDC y nos avisas como te fue, aqui te voy a dejar partes del ultimo programa q realice con CDC, funciona perfecto!!
Programa:
//Este es para un cristal de 20MHz
#include <18f4550.h>
#FUSES HSPLL, NOPROTECT, BROWNOUT, BORV28, NOPUT, NOCPD, NOLVP, LPT1OSC, NOPBADEN, USBDIV, PLL5, CPUDIV1, VREGEN
#use delay(clock=48000000)
//Librerias
#include "usb_cdc.h" // Descripción de funciones del USB.
#include "usb_desc_cdc.h" // Descriptores del dispositivo USB.
//luego dentro del Void main() colocas
//Configura el USB
usb_cdc_init();
usb_init();
//Y tu ciclo infinito va a ser algo asi
While(true){
usb_task();
//Si esta conectado al HUT
while(usb_cdc_connected()){
//OFF(Rojo);
//ON(Verde);
delay_ms(500);
//Si el dispositivo NO esta enumerado
while(!usb_enumerated()){}
//Si se envia algun dato
car=0;
while(usb_cdc_kbhit()){ //Mientras exista algo en el Buffer de entrada
OJO: son partes de la logica del programa que yo realice, asi me funciona perfectamente, las librerias son las que trae el CCS, pero ya las mias están personalizadas!! el driver, creo q tambien lo trae el CCS.
Cualquier cosa, pega un grito!!! Saludos desde venezuela, de donde eres tu??