Codigos para USB en PIC para un 18F4550

#1
Saludos a la comunidad, bueno pues como bien lo dice el titulo tengo que mandar los datos de mi PIC a la computadora por medio del puerto usb y de regreso, si alguien me pudiera ayudar con algun pdf donde traiga todos los comandos para USB en este software se lo agradeceria mucho. El PIC es un 18F4550, a y otra cosa que debo hacer tambien es conectar a mi PIC16F887 por su puerto serial a mi lap top haciendola pasar por un USB, en serio estare infinitamente agradecido por su informacion(y):)
 
#2
bueno pues como bien lo dice el titulo tengo que mandar los datos de mi PIC a la computadora por medio del puerto usb y de regreso, si alguien me pudiera ayudar con algun pdf donde traiga todos los comandos para USB en este software
¿Que software?

El PIC es un 18F4550, a y otra cosa que debo hacer tambien es conectar a mi PIC16F887 por su puerto serial a mi lap top haciendola pasar por un USB
Te sirve el tema Control de dispositivos a través del módulo USB del PIC18F2550; ambos PIC son familia así que no hay problema y respecto al 16F887 no es posible si no tiene una interfaz USB que simule un puerto serie... en el mismo tema hablan de comunicación CDC que es justamente eso (puerto serie simulado por usb) o usa un convertidor USB-RS232 que los venden en casas de electrónica o cómputo.
 
#3
¿Que software?


Te sirve el tema Control de dispositivos a través del módulo USB del PIC18F2550; ambos PIC son familia así que no hay problema y respecto al 16F887 no es posible si no tiene una interfaz USB que simule un puerto serie... en el mismo tema hablan de comunicación CDC que es justamente eso (puerto serie simulado por usb) o usa un convertidor USB-RS232 que los venden en casas de electrónica o cómputo.
Muchas gracias por el link al otro Tema, empezare a hacer pruebas el dia de hoy, quisiera saber si tu tienes algun link de donde bajar el api microchip mpusbapi.dll a y el programa es PICC Compiler
 
#4
El dll no está por si solo, lo encuentras en un grupo de librerías que la descargas de aquí Microchip Application Libraries, también tiene ejemplos incluidos los de USB con el dll (compilador C18), pero puedes usar solo el dll.

Sobre el PICC Compiler no podemos dar el link por las reglas del foro.

saludos
 
#5
El dll no está por si solo, lo encuentras en un grupo de librerías que la descargas de aquí Microchip Application Libraries, también tiene ejemplos incluidos los de USB con el dll (compilador C18), pero puedes usar solo el dll.

Sobre el PICC Compiler no podemos dar el link por las reglas del foro.

saludos
Saludos de nuevo, mira este es mi codigo para hacer un sensor de temperatura con la simulacion PICC Compiler, el problema que tengo ahora es que quiero instalar el mchpcdc.inf para que lo reconozca y funcione y no lo hace me marca error y otra cosa que tiene es que no espera a que cierre el conector en el PICC, solo con darle play empieza a intentar instalarlo:eek:
 
#6
IngAlbertoMembrillo hola como estás. Fijate si te has equivocado al subir tu código por que no se ve.
Otra cosa , lo que vos buscás está en el tema que desarrollé sobre la comunicación USB en el link que mencionó ByAxel.
 
#7
IngAlbertoMembrillo hola como estás. Fijate si te has equivocado al subir tu código por que no se ve.
Otra cosa , lo que vos buscás está en el tema que desarrollé sobre la comunicación USB en el link que mencionó ByAxel.
Aqui el codigo:

#INCLUDE <18F2550.H>
#DEVICE ADC=10
#FUSES HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#USE DELAY(CLOCK=48000000)
#DEFINE USB_CON_SNESE PINB2
#INCLUDE <USB_CDC.H>
#INCLUDE <PIC18_USB.H>
#INCLUDE <USB_DESC_CDC.H>
#INCLUDE <USB.C>

char USB_STRING_DESC_OFFSET[]={0,4,12};
char const USB_STRING_DESC[]={4,USB_DESC_STRING_TYPE,0X09,0X04,8,USB_DES-STRING-TYPE,'C',0,'C',0,'S',0,30,USB_DESC_STRING_TYPE,'C',0,'C',0,'S',0,'',0,'R',0,'S',0,'2',0,'3',0,'2',0,'',0,'D',0,'E',0,'M',0,'O',0};

VOID MAIN()
{
BYTE i, j, address, value;
int16 q,q1;
float p;
q1=0;
setup_adc_ports(AN0|VSS_VDD);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
usb_cdc_init();
usb_init();

do{
usb_task();
if(usb_enumerated())
{
q=read_adc();
if(q!=q)
{
p=5.0*q/1024.0;
printf(usb_cdc_putc,"\n\r Voltaje= %01.2fv",p);
}
q1=q;
delay_ms(500);
}
}
while(true);
}

Aqui esta el error que me viene marcando desde ayer =S
http://s699.photobucket.com/albums/vv354/RomanoMeridio/?action=view&current=ERRORINSTALACION.jpg
 
Última edición:
#9
#10
Están mal los descriptores, en el archivo USB_DESC_CDC.H tenés que definirlos no el programa principal. Además no has definido el tamaño del descriptor por lo tanto el host no puede calcular el parametro para enumerarlo al dispositivo.

Mostrame tu fichero USB_DESC_CDC.h para poder ayudarte.
 
Arriba