Haaa si ese ejemplo tiene un error de programación ....ya voy a ver como lo soluciono.
Lo de HID te tiene que andar como te puse ateriormente....es decir vos en tu placa tenías un cristal de 20Mhz ...y el firmware está configurado para 4Mhz. No tendrías que tener problemas de hardware...por si en CDC va bien es por que el hardware está correcto como asi tambien la aplicación . tenés que leer acá:
Te dice claramente que el firmware usa un cristal de 4.00Mhz de cristal.
Luego voy a correjir este problema que hay con el ejemplo que me pusiste mas arriba....
Lo de HID te tiene que andar como te puse ateriormente....es decir vos en tu placa tenías un cristal de 20Mhz ...y el firmware está configurado para 4Mhz. No tendrías que tener problemas de hardware...por si en CDC va bien es por que el hardware está correcto como asi tambien la aplicación . tenés que leer acá:
Código:
#include <18F2550.h> // Definición de registros internos del PIC18F2550.
#fuses NOMCLR,XTPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN
// NOMCLR: No vamos ha usar el PIN MCLR, el reset se hará por soft.
// XTPLL: Vamos a usar un cristal de 4.00Mhz.
// NOWDT: No vamos a usar el perro guardian.
// NOPROTECT: Memoria no protejida contra lecturas.
// NODEBUG: No utilizamos código para debugear.
// NOLVP: No utilizamos el modo de programación con bajo voltaje.
// USBDIV: signfica que el clock del usb se tomará del PLL/2 = 96Mhz/2 = 48Mhz.
// PLL1: significa que el PLL prescaler no dividirá la frecuencia del cristal. para XT = 4Mhz.
// CPUDIV1: El PLL postscaler decide la división en 2 de la frecuencia de salida del PLL de 96MHZ, si queremos 48MHZ, lo dejamos como está.
// VREGEN: habilita el regulador de 3.3 volts que usa el módulo USB.
// NOPBADEN: Deshabilitamos el módulo conversor ADC del puerto B.
#use delay(clock=48000000)
Te dice claramente que el firmware usa un cristal de 4.00Mhz de cristal.
Luego voy a correjir este problema que hay con el ejemplo que me pusiste mas arriba....
Última edición: