Bueno amigo, el problema es simple... ya tengo un codigo de ejemplo para probar cdc desde ccs con un 18f2550... pero aunque el puerto es creado ya por windows al conectar el micro, no responde a mis comandos...
Dejo codigo:
Anexo imagen fisica de las conexiones..
Para probar que ya se crea el puerto serial.. miren esto.. (Es el MoyaPic)
Para ver el resultado previo en Hyperterminal... lo configuro asi..
Entonces intento enviar las letras que generarian una respuesta... y no llega nada...
Alguna Ayuda por favor...
Dejo codigo:
Código:
// Ejercicio Nº1: Genera un COM virtual y se comunica bidireccionalmente con el a través del PIC18F2550.
#include <18F2550.h> // Definición de registros internos.
#fuses HSPLL,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=20000000) // Frecuencia máxima de trabajo.
#include "usb_cdc.h" // Descripción de funciones del USB.
#include "usb_desc_cdc.h" // Descriptores del dispositivo USB.
void main() {
usb_cdc_init(); // Configuramos al puerto virtual.
usb_init(); // Inicializamos el stack USB.
while(!usb_cdc_connected()) {}
// espera a detectar una transmisión de la PC (Set_Line_Coding).
do{
usb_task();
if (usb_enumerated()){ // Espera a que el dispositivo sea enumerado por el host.
if(usb_cdc_kbhit()){ // En espera de nuevos caracteres en el buffer de recepción.
if(usb_cdc_getc()=='x'){ //¿lo que llegó fué el caracter x?
printf(usb_cdc_putc, "Se recibe el caracter x.\n\r");
//si, entonces envía una cadena hacia el PC
}
if(usb_cdc_getc()=='a'){ //¿lo que llegó fué el caracter a?
printf(usb_cdc_putc, "Se recibe el caracter a.\n\r");
//si, entonces envía una cadena hacia el PC
}
}
}
}while (TRUE); // bucle infinito.
}
Anexo imagen fisica de las conexiones..
Para probar que ya se crea el puerto serial.. miren esto.. (Es el MoyaPic)
Para ver el resultado previo en Hyperterminal... lo configuro asi..
Entonces intento enviar las letras que generarian una respuesta... y no llega nada...
Alguna Ayuda por favor...