Autor Tema: Interfas USB 18f4550  (Leído 15599 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Interfas USB 18f4550
« Respuesta #15 en: 12 de Enero de 2012, 16:35:05 »
Hola Rivale, lograste que funcione la comunicación USB CDC?

Estoy trabajando con un PIC18F4550, intentando hacer una comunicación USB CDC con una PC con windows 7 y el programa del PIC lo estoy haciendo con CCS. Cuales serían los pasos que tengo que hacer para establecer está comunicación?

Saludos!

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #16 en: 12 de Enero de 2012, 17:56:53 »
Hola marito, no he probado la comunicacion por cdc, ya que yo queria aumentar la velocidad de comunicacion. usa las librerias propias del ccs para usb
"Nada es imposible, no si puedes imaginarlo"

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Interfas USB 18f4550
« Respuesta #17 en: 13 de Enero de 2012, 10:07:33 »
hola marito, busca un hilo que se llama ”mis primeros pasos con el pic 18f4550”.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Interfas USB 18f4550
« Respuesta #18 en: 13 de Enero de 2012, 12:24:52 »
Jhozate muchas gracias.

Estuve viendo ese hilo, pero no encontré ningún comentario de alguien que haya echo funcionar la comunicación con windows 7.

Hice lo que mencionan en ese hilo pero no logré enviar datos del PIC a la PC.

Me aparece el PIC conectado a un puerto com virtual en la PC, pero no recibo datos ni tampoco ejecuta el programa el PIC. Puse un led a parpadear dentro del bucle de comunicación, pero no se enciende.

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #19 en: 14 de Enero de 2012, 23:22:12 »
Hola marito, retome este hilo y te comento que ya hice funcionar el usb en modo cdc en windows 7 de 64 bits, si quieres pega tu programa y te ayudo
"Nada es imposible, no si puedes imaginarlo"

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Interfas USB 18f4550
« Respuesta #20 en: 15 de Enero de 2012, 11:13:50 »
Hola.

Sería interesante ver el .inf para el Win7 de 64 bits. Yo aún no he podido probar en una máquina de 64 bits, porque no la tengo  :(

Saludos
El papel lo aguanta todo

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #21 en: 15 de Enero de 2012, 13:37:46 »
pues utilice el que proporciona microchip, creo que es el mismo
"Nada es imposible, no si puedes imaginarlo"

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Interfas USB 18f4550
« Respuesta #22 en: 16 de Enero de 2012, 08:46:36 »
Rivale probé con el .inf del generador de PalitroqueZ y con el de Microchip. Use el VID 04D8 y PID 0011. Con ambos conecto el PIC al puerto USB y la PC detecta el PIC conectado de un puerto COM. Adjunto el .INF y .CAT que estoy usando en este momento, el de Microchip. En el PID modifiqué el que venía por defecto de 000A por PID=0011. Estos archivos los puse en la carpeta del proyecto.

Con respecto al programa que estoy ejecutando en el PIC, es el que sigue:

Código: [Seleccionar]
#include <18F4550.h>

#fuses HSPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay(clock=48000000)


#include <usb_cdc.h>

#define CODE_START   0x1000
#build(reset=CODE_START, interrupt=CODE_START+0x08)
#org 0, CODE_START-1 {}

void main(){
SET_TRIS_D(0x00);

   usb_cdc_init();
   usb_init_cs();
   do {                   
   usb_task(); 

printf(usb_cdc_putc, " 1 ");
output_high(PIN_D2);
delay_ms(5000);

output_low(PIN_D2);
delay_ms(5000);
 }while (TRUE); 

}


Lo que estoy buscando con este programa es mandar un "1" a la pc par recibirlo en un terminal que estoy usando (probe con el SIOW paro tampoco recibí el valor) pero no consigo recibir ningún valor. Además la idea es mantener un LED parpadeando cada 500mseg, pero tampoco parpadea el LED. Estoy usando un 18F4550 con un cristal de 20MHZ.
Si saco la parte del codigo de comunicación, el LED parpadea correctamente, por lo que el circuito estaría bien. Además estoy usando un bootloader por USB HID, por eso incluyo tres lineas de codigo para proteger el mismo.


Espero que puedas ayudarme!!!

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #23 en: 16 de Enero de 2012, 14:20:02 »
Hola, si ya pudiste detectar el micro y la compu te lo reconoce como dispositivo creo que no hay problema con el .inf, sin embargo en tu codigo veo que incluyes:

#include <usb_cdc.h>

si tu archivo esta en la misma carpeta de tu proyecto debes ponerlo enrte "":

#include "usb_cdc.h"

prueba con esto y me dices que tal te fue
"Nada es imposible, no si puedes imaginarlo"

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Interfas USB 18f4550
« Respuesta #24 en: 16 de Enero de 2012, 14:28:32 »
Hice la prueba colocando las comillas pero cuando compilo me da genera errores de compilación.

Tengo el archivo usb_cdc.hy el usb_desc_cdc.h dentro de la carpeta del proyecto.

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #25 en: 16 de Enero de 2012, 14:29:50 »
que errores te genera?.
"Nada es imposible, no si puedes imaginarlo"

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Interfas USB 18f4550
« Respuesta #26 en: 16 de Enero de 2012, 15:14:42 »
El error me lo genera porque dentro del archivo usb_cdc.h que tengo dentro de la carpeta de mi proyecto, modifique la línea

Código: [Seleccionar]
#include <usb_desc_cdc.h>
por

Código: [Seleccionar]
#include ".\usb_desc_cdc.h"
Para solucionar el error de la compilación normalice el #include <usb_desc_cdc.h> que tengo dentro del usb_cdc.h

El usb_cdc de mi proyecto lo puse entre "". Había leído que tenía que modificar esa línea dentro del usb_cdc.h para llamar al archivo usb_desc_cdc que genere con los valores de PID y VID que quiero usar.


No debo modificar nada dentro del usb_cdc.h?

Gracias!

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #27 en: 16 de Enero de 2012, 15:18:45 »
para incluir el archivo dentro del asb_cdc.h lo pones asi:

Código: [Seleccionar]
#include "usb_desc_cdc.h"

si el archivo esta dentro de tu misma carpeta y se llama asi, ahora lo que te esta pasando es que estas usando el .h del ejemplo del ccs.

prueba con esto, si no, sube tu proyecto y le doy una checada
"Nada es imposible, no si puedes imaginarlo"

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Interfas USB 18f4550
« Respuesta #28 en: 16 de Enero de 2012, 15:40:18 »
Intente como me comentabas pero me genera error.

Te adjunto el proyecto,

* el .cat y .inf los saque del último framework de microchip
* el usb_desc_cdc.h lo genere con el Enumerador v3.1 de Palitroquez
* el usb_cdc.h lo saque de los drivers de PICC
* tengo instalada la versión 4.104 de PICC
* tengo el MPLAB v 8.80


Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Interfas USB 18f4550
« Respuesta #29 en: 16 de Enero de 2012, 16:45:36 »
el problema es tu usb_cdc.h, le faltan algunas definiciones, sustituye el que tienes por el que adjunto

http://www.4shared.com/file/a05RJ6Yy/usb_cdc.html
"Nada es imposible, no si puedes imaginarlo"