Uso de USB CDC con el PIC18F4450

#1
Hola a todos necesito ayuda para usar el modulo USB de mi PIC 18F4450, no me funciona en la simulacion y pues mucho menos me funcionaria practico. Estube usando el PIC18F4550 con el CDC USB y con ese si funciono muy bien, pero aqui en mi ciudad no me pude conseguir el 4550 y compre el 4450 pensando que funcionaria de todas formas, pero no fue asi, le grave el mismo programa que le grabava al 4550, cambiando de include<18f4450.h> como debe de ser, pero fuera de eso la configuracion es completamente la misma.

El programa lo unico que hace es leer el puerto AN0 y enviar esta lectura por USB a la PC, lo monitoreo con el HyperTerminal gracias a que el tipo de transmision CDC la PC reconoce la comunicasion USB como un COMx serial.
Espero me puedan ayudar con mi problema, les dejo el codigo y el diagrama en proteus.

Código:
#include <18F4450.h>
#device adc=10

#FUSES NOWDT,HSPLL,NOPROTECT,NODEBUG,NOLVP,NOMCLR,PLL5,USBDIV,CPUDIV1,VREGEN
#use delay(clock=48000000)    //Para Xtal de 20Mhz

#define usb_con_sense_pin pin_b2
#include <usb_cdc.h>

long q;
float p;

void main()
{
   
   setup_adc_ports(AN0|VSS_VDD);
   setup_adc(ADC_CLOCK_INTERNAL);
   set_adc_channel(0);
   
   usb_cdc_init();
   usb_init();
      
   while(1)
   {
      usb_task();
      if(usb_enumerated())
      {
         q=read_adc();
         
            p=(5.0*q)/1024.0;
            printf(usb_cdc_putc,"\rVoltaje=%01.2fV",p);
         
         delay_ms(1000);
      }
   }
}

Gracias de antemano
 

Adjuntos

#4
Insisto mirá el datashet del pic18f2550 y te vas a dar cuenta que es lo mismo. Yo te puse el link para que orientaras en tu problema. Yo he puesto un ejemplo de lo que vos querés hacer pero lo hise con el pic18f2550.
 
#5
Ya mire los datasheet de ambos, note algunas diferencias, una de ellas es que el PIC18F2550 dice que los pull-ups externos son opcionales y el de 4450 dice que deben de llevaros. Sospecho que el problema es de direccionamiento de la memoria, creo que las librerias utilizadas para los pic 2550/4550 utilizan localidades en memoria que los pic 4450/2450 no tienen, la verdad no estoy seguro de esto, pero lo sospecho por el LOG de emnsajes del proteus, anexo la imagen para ver si me pueden ayudar.
 

Adjuntos

#6
hola a todos
krlos158 no te dio problema el Vusb de 4450 porque veo que en la imagen lo conectas a neutro yo estoy usando el 4550 pero en el data del 4550 informaciónrma que debe haber un capacitor en dicho pin mipregunta es: esto no lo menciona en el data del 4450?
 
#7
De hecho el diagrama lo saque de un ejemplo con el 4550 y lo aplique al 4450, pero este tema ya no importa, me consegui el 4550 y el 2550 ya que despues de semanas de buscar con 4450 y 2450 vi que a casi nadie le ha funcionado el USB con estos dispositivos, en fin ya es cosa del pasado.
Gracias por tu interes.
 
#8
krlos disculpa pero ¿has logrado la comunicacion usb con el 4550? porque yo no lo he logrado y lo que pasa es que en el pin de Vusb no obtengo el voltaje entre 3 y 3.6 y queria saber si tenias alguna sugerencia
de antemano gracias
 

Temas similares

Arriba