Estoy intentando comunicar un pic 18f4550 con mi laptop con windows 10, son mis primeros intentos con la comunicación usb-pic, estoy programando ccs version 4.104, leyendo diversos foros he realizado las modificaciones que indican como la de modificar las lineas en el "start device descriptors" dentro de usb_desc_cdc.h cambiando el VID a 0xD8 0x04 de microchip, windows detecta el usb mas sin embargo indica que el driver no es el adecuado, por lo que no termina de conectar el dispositivo. Busque en la pagina de microchips los drivers para el 18f4550 y no logro encontrarlo.
El codigo que estoy intentado hacer funcionar es uno que descargue de la red que a su vez venia con los drivers pero para win7 es el siguiente:
Codigo:
#include <18F4550.h> // Definición de registros internos.
#fuses HSPLL,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000) // 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() {
unsigned char datoIN;
usb_cdc_init(); // Configuramos al puerto virtual.
usb_init(); // Inicializamos el stack USB.
output_high(PIN_C0);
output_low(PIN_C1);
while(!usb_cdc_connected()) {}
// espera a detectar una transmisión de la PC (Set_Line_Coding).
output_high(PIN_C1);
output_low(PIN_C0);
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.
datoIN=usb_cdc_getc();
if(datoIN=='x'){ //¿lo que llegó fué el caracter x?
usb_cdc_putc('x');
//printf(usb_cdc_putc, "x.\n\r");
//si, entonces envía una cadena hacia el PC
output_high(PIN_C0);
output_low(PIN_C1);
}
else if(datoIN=='a'){ //¿lo que llegó fué el caracter a?
usb_cdc_putc('a');
//printf(usb_cdc_putc, "a.\n\r");
//si, entonces envía una cadena hacia el PC
output_high(PIN_C1);
output_low(PIN_C0);
}
else if (datoIN=='?'){
printf(usb_cdc_putc,"kiubo q");
delay_ms(1000);
usb_cdc_putc('h');
delay_ms(1000);
usb_cdc_putc('o');
delay_ms(1000);
usb_cdc_putc('l');
delay_ms(1000);
usb_cdc_putc('a');
}
else{
//output_high(PIN_C1);
//output_high(PIN_C0);
output_c(3);
}
}
}
}while (TRUE); // bucle infinito.
}
/////////////////////////////////////////////////////////////////////////////////////////
Ademas lei en una direccion de microsoft que ya esos drivers deben venir incluidos en win10, pero nada no logro comunicacion, que debe modificar ademas de lo antes mencionado?
Agradeciendo de antemano su pronta respuesta