TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: eddie1196 en 19 de Enero de 2011, 18:22:05

Título: Interfas USB 18f4550
Publicado por: eddie1196 en 19 de Enero de 2011, 18:22:05
Que tal a todos tengo un proyecto con un pic18f4550 con comunicacion mediante usb como clase CDC, hasta la fecha todo me ha funcionado bien recibir informacion desde Visual C#, asi como envio de datos y que me los reconosca el pc el problema es que trato de configurar el PWM del pic pero no tengo idea de como hacerlo si alguien pudiera ayudarme y de igual manera yo le ayudaria en lo que pueda, Gracias. Utilizo Pic c
Título: Re: Interfas USB 18f4550
Publicado por: korpaztk en 10 de Febrero de 2011, 21:14:39
a que frecuencia queres el pwm y que ciclo de trabajoo... expecifica esoo...
va si quieres... si tienes el pic-c ccs ahi directamente cuando creas un proyecto puedes configurar el pwm y luego t lo escupe en el programa, asi aprendi yo  :mrgreen: y anda bn por supuesto  :-/
espero poder servirte de ayuda, sino sigue consultando
Título: Re: Interfas USB 18f4550
Publicado por: Suky en 10 de Febrero de 2011, 21:55:30
Utiliza el buscador, hay muchos ejemplos y post donde se explica dicho módulo.


Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: eddie1196 en 02 de Agosto de 2011, 17:12:44
 :-/ q tal al fin termine mi interfaz si alguien necesita ayuda con una tarea similar con gusto podre ayudar la interfaz fue con visual c#, el pic 18f4550 y CCS , como dispositivo cdc sin interrupciones funciono muy bien. MI proximo proyecto sera crear un interfaz para un cnc.
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 02 de Agosto de 2011, 21:27:18

:-/ q tal al fin termine mi interfaz si alguien necesita ayuda con una tarea similar con gusto podre ayudar la interfaz fue con visual c#, el pic 18f4550 y CCS

Hola, edddie, yo me apunto. quiero hacer una interfaz en C# para usb, se usar C# pero para usb no tengo idea  :oops:. tambien programo en ccs
Título: Re: Interfas USB 18f4550
Publicado por: Suky en 02 de Agosto de 2011, 21:56:43

:-/ q tal al fin termine mi interfaz si alguien necesita ayuda con una tarea similar con gusto podre ayudar la interfaz fue con visual c#, el pic 18f4550 y CCS

Hola, edddie, yo me apunto. quiero hacer una interfaz en C# para usb, se usar C# pero para usb no tengo idea  :oops:. tambien programo en ccs

Esto seguramente les va a ser muy útil:
http://www.ucontrol.com.ar/forosmf/proyectos-con-pic/manual-de-aplicaciones-usb-hid/msg47040/#msg47040


Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 02 de Agosto de 2011, 22:15:43
muchas gracias por la info Suky
Título: Re: Interfas USB 18f4550
Publicado por: eddie1196 en 04 de Agosto de 2011, 12:55:43

:-/ q tal al fin termine mi interfaz si alguien necesita ayuda con una tarea similar con gusto podre ayudar la interfaz fue con visual c#, el pic 18f4550 y CCS

Hola, edddie, yo me apunto. quiero hacer una interfaz en C# para usb, se usar C# pero para usb no tengo idea  :oops:. tambien programo en ccs

Claro companero mira cuando comiences me dices en que punto estas atorado, yo te ayudo con cualquier problema no podre postear mi proyecto por q pretenece a la empresa donde trabajo, te dire q es muy sencillo como dispositivo cdc, funciona como un puerto com en la pc, cualquier duda estoy para ayudar
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 04 de Agosto de 2011, 17:10:10
gracias eddie, una pregunta, como cdc se esta emulando un puerto serie no?, cual es la velocidad maxima que se puede usar?
o con que configuracion tendria la transferencia mas rapida?
Título: Re: Interfas USB 18f4550
Publicado por: eddie1196 en 04 de Agosto de 2011, 21:00:19
En cuanto al pic no tuve que configurar nada, no encontre documentacion al respecto parece ser que el archivo de cadecera usb_desc_cdc.h es el que describe al pic con el pc, el software en c# tengo configurado el puerto a 9600br, 8 databits,sin bit de paridad, te dejo el codigo para conseguir q sea reconocido el pic por el pc

#fuses HSPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN (configuracion de los fusibles para el pic)
#use delay(clock=48000000)     (clock para sincronizar el pic con el pc)
#include "usb_cdc.h"           (archivo de cabecera para instrucciones si abres este archivo estan todos los comandos que se pueden usar para la comunicaion recepcion y transmision de bytes, cadenas, enteros)
#include "usb_desc_cdc.h"

void main()
{
   usb_cdc_init();
   usb_init();
   delay_us(10);

  while(!usb_cdc_connected())
 {

output_bit( PIN_B6, 1);
output_bit( PIN_B7, 0);
 }
output_bit( PIN_B6, 0);
output_bit( PIN_B7, 1);

   do{
 
     usb_task();
     if (usb_enumerated())
      {
       
          // todo tu programa
     
       }while (TRUE);

}
 este sencillo programa encendera el b7 cuando ya este bien comunicado con la pc.
En estos dias me pondre a hacer una simulacion en proteus y la posteo para q veas el funcionamiento
En cuanto pueda te ayudo un poco con lo del pc.
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 04 de Agosto de 2011, 21:09:09
muchas gracias, con esto y conectandolo a la PC ya me reconoce la compu el pic?
Título: Re: Interfas USB 18f4550
Publicado por: Suky en 04 de Agosto de 2011, 22:19:50
gracias eddie, una pregunta, como cdc se esta emulando un puerto serie no?, cual es la velocidad maxima que se puede usar?
o con que configuracion tendria la transferencia mas rapida?


En Win creo que 115200 es lo máximo que permite  :tongue: La configuración la realizar en la ventana de configuración del driver.


Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 04 de Agosto de 2011, 22:22:03
gracias por la respuesta suky.

ahora estoy trabajando con comunicacion rs232, y la tengo a 115200, entonces si me cambio a usb no cambiaria nada? :(
o lo que mencionas es solo para la configuracion cdc? con que configuracion me comunicaria mas rapido?
Título: Re: Interfas USB 18f4550
Publicado por: Suky en 04 de Agosto de 2011, 22:27:13
Mig evaluó eso y por lo que recuerdo lo más rápido es HID, pero hay que trabajar la librería de CCS:

http://www.migsantiago.com/index.php?option=com_content&view=article&id=15:prueba-tu-hid-con-sl-hid-tester&catid=2:articulo&Itemid=27


Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 04 de Agosto de 2011, 22:29:18
gracias suky, lo leo y lo mas seguro es que regrese con dudas :mrgreen:.

Saludos
Título: Re: Interfas USB 18f4550
Publicado por: marito 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!
Título: Re: Interfas USB 18f4550
Publicado por: rivale 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
Título: Re: Interfas USB 18f4550
Publicado por: jhozate en 13 de Enero de 2012, 10:07:33
hola marito, busca un hilo que se llama ”mis primeros pasos con el pic 18f4550”.
Título: Re: Interfas USB 18f4550
Publicado por: marito 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.
Título: Re: Interfas USB 18f4550
Publicado por: rivale 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
Título: Re: Interfas USB 18f4550
Publicado por: MLO__ 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
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 15 de Enero de 2012, 13:37:46
pues utilice el que proporciona microchip, creo que es el mismo
Título: Re: Interfas USB 18f4550
Publicado por: marito 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!!!
Título: Re: Interfas USB 18f4550
Publicado por: rivale 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
Título: Re: Interfas USB 18f4550
Publicado por: marito 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.
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 16 de Enero de 2012, 14:29:50
que errores te genera?.
Título: Re: Interfas USB 18f4550
Publicado por: marito 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!
Título: Re: Interfas USB 18f4550
Publicado por: rivale 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
Título: Re: Interfas USB 18f4550
Publicado por: marito 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

Título: Re: Interfas USB 18f4550
Publicado por: rivale 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 (http://www.4shared.com/file/a05RJ6Yy/usb_cdc.html)
Título: Re: Interfas USB 18f4550
Publicado por: marito en 16 de Enero de 2012, 18:51:47
rivale, con el archivo que me pasaste pude compilar sin error, usando el usb_cdc.h y usb_desc_cdc.h de mi proyecto.

El problema sigue siendo que no logro comunicar el valor a la pc, ni tampoco se enciende el LED.

Será un problema de código?
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 16 de Enero de 2012, 19:21:34
tu problema es al enviar datos del micro a la pc, o alrevez?
Título: Re: Interfas USB 18f4550
Publicado por: marito en 16 de Enero de 2012, 20:28:25
el problema es al enviar, estoy usando el código que te pase en el proyecto, envío un 1 a la pc
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 16 de Enero de 2012, 22:32:39
prueba con este ejemplo, simplemente hace un echo de lo que envies por usb
http://www.4shared.com/rar/ulwZGzei/USB_-_RS232.html
 (http://www.4shared.com/rar/ulwZGzei/USB_-_RS232.html)
Título: Re: Interfas USB 18f4550
Publicado por: marito en 17 de Enero de 2012, 09:41:03
Hola Rivale!

Muchas gracias por el ejemplo. Está tarde voy a conectarme a la placa para probarlo. Estaba viendo que el código para establecer la comunicación es el mismo que estoy usando, la diferencia está en que configuras el RS232, y despúes en las líneas;

Código: [Seleccionar]
usb_cdc_putc(datos_usb);
            usb_cdc_putc("--");

Que diferencia hay entre usar esa sentencia sin el printf?

También te quería consultar que versión de compilador estás usando? Porque yo tengo la versión 4.104

Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 17 de Enero de 2012, 10:26:35
Hola marito, en la parte de codigo que te envie no uso rs232, la linea de printf se usa para cuando quieres imprimir una variable, por ejemplo
Código: [Seleccionar]
printf(usb_cdc_putc,"envio el dato %i",nombre_variable);en el caso anterior se sustituye el %i por lo que tenga la variable "nombre_variable" que debe ser del tipo entero.

esto no se puede hacer usando solo usb_cdc_putc.

solo te explico para que se usa el printf, aunque en el ejemplo que te puse creo que no imprimo el dato asi que lo puedes substituir por un usb_cdc_putc.


mi version de ccs  es la 4.124, no tuve problemas con el envio desde el micro a la pc, pero si tuve problemas alrevez, por lo que cambie las librerias del usb por unas que tenia de una version anterior y funciona a la perfeccion
Título: Re: Interfas USB 18f4550
Publicado por: marito en 17 de Enero de 2012, 10:51:14
Rivale lo que quise decir es que configuras la comunicación RS232, en esta línea

Código: [Seleccionar]
#use rs232(baud=115200,xmit=pin_c6,rcv=pin_c7)//configuracion del puerto rs232 envia por pin_c6 y recibe por pin_c7
Con respecto al envío de datos, hasta ahora he intentado usando el printf con el usb_cdc_putc.

Voy a probar con el ejemplo que me enviaste. Si no funciona, voy a instalar la última versión del compilador.
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 17 de Enero de 2012, 10:54:53
haa, esque el programa originalmente era un convertidor de usb-rs232, pero para probar solo la comunicacion no necesitas configurar el usart.
haz la prueba y comentas tus resultados
Título: Re: Interfas USB 18f4550
Publicado por: marito en 18 de Enero de 2012, 19:47:15
Rivale, estuve probando con el proyecto que me pasaste pero lamentablemente no conseguí recibir datos en la PC. Logré ver el PIC en el puerto COM pero no recibi datos.

Tampoco tengo una versión superior a la 4.104 del compilador, por lo que no puedo realizar esa prueba.

Lo que te iba a pedir, es si podrías pasarme el proyecto que te funciona compilado, también el archivo .inf y el .cat que estás usando. Estoy pensando en hacer el proceso inverso, teniendo un proyecto que funciona, comenzar a cambiar por los archivos que yo tengo hasta encontrar cual es el que produce la falla.

Muchas gracias! Saludos
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 18 de Enero de 2012, 20:29:40
Te agrego mio proyecto compilado y archivos
http://www.4shared.com/rar/ulwZGzei/USB_-_RS232.html (http://www.4shared.com/rar/ulwZGzei/USB_-_RS232.html)
Título: Re: Interfas USB 18f4550
Publicado por: marito en 19 de Enero de 2012, 09:52:20
Rivale quería pedirte si puede ser que me pases los archivos .inf y .cat, muchas gracias
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 19 de Enero de 2012, 20:06:02
te adjunto el .inf, solo con este lo hice funcionar, no use .cat

http://www.4shared.com/file/zCZEkjQc/mchpcdc.html
 (http://www.4shared.com/file/zCZEkjQc/mchpcdc.html)
Título: Re: Interfas USB 18f4550
Publicado por: marito en 20 de Enero de 2012, 16:04:52
Hola Rivale!

Ya estoy haciendo las pruebas con el proyecto compilado que me pasaste. Cree una nueva carpeta con tu proyecto, en la que puse también en archivo mchpcdc.inf. Resulta que cuando cargo el proyecto en el PIC y conecto el mismo a el PC, no veo el PIC conectado a el PC.

Si cargo mi proyecto nuevamente en el PIC, luego de conectar el PIC, aparece el puerto virtualserie COM.

Para hacer una prueba, desinstale el controlador del puerto com; pero no me detecta el PIC con tu proyecto. Si instalo de nuevo el controlador con el PIC conectado con mi proyecto,aparece de nuevo el puerto com.

Es como si el puerto estuviese ligado al PIC con mi proyecto cargado.
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 20 de Enero de 2012, 19:16:30
pero si estas detectando el puerto com?, puedes hacer envio de informacion?
Título: Re: Interfas USB 18f4550
Publicado por: marito en 21 de Enero de 2012, 11:32:06
Lo que me está pasando que te comentaba, es que windows no me detecta el PIC con nuevos proyectos con USB CDC. Sólo me detecta el PIC si cargo el programa con el primer proyecto que empecé a probar
Título: Re: Interfas USB 18f4550
Publicado por: jhozate en 21 de Enero de 2012, 11:58:56
prueba haciendo una instalacion del controlador desde cero, descarga desde aqui (http://www.nirsoft.net/utils/usb_devices_view.html) el USBdeview, al final de la pagina esta el link de descarga, ejecutas y buscas el controlador que corresponde al pic, click derecho y lo desinstalas.
Título: Re: Interfas USB 18f4550
Publicado por: marito en 21 de Enero de 2012, 13:41:41
Gracias por la info jhozate.
Me sucedió algo muy raro. En el pic estoy trabajando con un bootloader a través de USB HID y luego mi programa comunica datos al pc con USB CDC.

Desinstale como me dijiste. Ahora no consigo que funcione el bootloader, pero comenzo a funcionar el USB CDC!

Será que no puedo usar ambos programas en un mismo PIC?! Hay algún bootloader USB CDC?
Título: Re: Interfas USB 18f4550
Publicado por: marito en 21 de Enero de 2012, 17:15:46
Hasta el momento logré enviar datos al PC con USB CDC, cargando el programa desde mi programador ICD2.

Ahora si utilizo el bootloader HID, mi programa para enviar datos cpor USB CDC deja de funcionar. Para proteger el bootloader, agrego las siguientes líneas en el programa de envío de datos:

Código: [Seleccionar]
#define CODE_START   0x1000
#build(reset=CODE_START, interrupt=CODE_START+0x08)
#org 0, CODE_START-1 {}

En resumen, el bootloader HID funciona, pero si cargo el programa de comunicación CDC con este bootloader, la comunicación CDC no funciona.

Alguien ha tenido este problema?

P.D. estoy usando una pc con windows 7 64 bits.
P.D2. para el bootloader uso el codigo de HID Bootloader - Firmware for PIC18 Non-J Devices y cargo con el programa HIDBootLoader v2.6b
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 21 de Enero de 2012, 17:32:00
yo nunca he usado un bootloader con usb, pero creo que no puedes combinar los 2 protocolos de usb en un mismo micro, tendrias que programar el micro con un programador para que funcione
Título: Re: Interfas USB 18f4550
Publicado por: marito en 21 de Enero de 2012, 21:55:37
Rivale, gracias nuevamente por tu ayuda.

Hasta ahora he usado el programador, pero necesito montar el PIC en la placa con la que voy a adquirir las señales que voy a mandar al PC, por lo cual necesito usar un bootloader.
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 21 de Enero de 2012, 22:16:00
no entiendo porque necesitas el bootloader, si vas a dejar fijo el programa y solo necesitas adquirri datos por usb puedes programar con el programador y comunicarte por cdc.

y en alguna de las combinaciones ya haz logrado comunicarte via cdc?, con cual te funciono?
Título: Re: Interfas USB 18f4550
Publicado por: marito en 22 de Enero de 2012, 13:05:45
Hola!

Lo que sucede es que necesito ir haciendo ajustes al programa, por eso el tema del bootloader.

Ya logré que funcionará la comunicación CDC. Use el proyecto que me pasaste, instale el controlador con el .inf sin usar el .cat. La comunicación funcionó cuando grabe solamente el programa de comunicación sin el bootloader.

Ahora tengo que revisar en que parte del programa estoy cometiendo un error que no deja que funcionen ambos programas.

Muchas gracias!
Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 22 de Enero de 2012, 14:41:41
En esa parte no tengo idea, desconozco si puedan trabajar los hid y cdc en el mismo micro.

Habra que preguntarle a alguno de los expertos en usb del foro ;-)
Título: Re: Interfas USB 18f4550
Publicado por: marito en 25 de Enero de 2012, 18:53:05
Hola!

Rivale estuve depurando el código que me pasaste para comunicar con CDC, finalmente tengo este:

Código: [Seleccionar]
#include <18F4550.h>
#fuses HSPLL,NOMCLR,NOWDT,PROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#include "usb_cdc.h"
char datos_usb=0;




void main()
{
  usb_cdc_init();
  usb_init();
       
   while(true)
   {
      usb_task();//habilita periférico usb e interrupciones
      if(usb_enumerated())
      {
         
         if(usb_cdc_kbhit())
         {
            datos_usb=usb_cdc_getc();
            printf(usb_cdc_putc,"Recibi el dato: %c",datos_usb);//imprimo datos por el usb;
            }
      }
   }
   
}

El problema que tengo es que el PIC no recibe los caracteres que envío de la PC, por cada caracter que envío, en la PC recibo: Recibi el dato: 0
El símbolo no es un cero, son como dos corchetes muy próximos y enfrentados.
Continúo usando la versión 4.104 del compilador.

Alguna sugerencia?

Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 25 de Enero de 2012, 18:55:34
tu problema solo es al recibir datos desde la pc?, si puedes enviar datos desde el pic?
Título: Re: Interfas USB 18f4550
Publicado por: marito en 25 de Enero de 2012, 19:02:05
Lo que hago es enviar un dato al PIC, y recibo la respuesta en la PC del dato enviado, pero el dato que veo en la PC es erróneo
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 25 de Enero de 2012, 19:07:15
creo que el problema es al recibir desde la PC, pero esto es error del ccs, yo substitui los archivos por los que tenia de una version 4.08 de ccs y con eso se soluciono
Título: Re: Interfas USB 18f4550
Publicado por: marito en 25 de Enero de 2012, 19:09:14
que archivos debería sustituir? toda la carpeta drives?
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 25 de Enero de 2012, 19:24:23
si, si tienes los drives de una version anterior de ccs sustituyelos todos, para evitar problemas con algunos otros drivers.
los drives que son nuevos de esta version no se borrarian ya que no existian en versiones anteriores,
Título: Re: Interfas USB 18f4550
Publicado por: marito en 25 de Enero de 2012, 20:20:22
No tengo la versión 4.08, tengo la 4.093 y la 4.023.

Me funciona con la 4.023 envia y recibi los datos correctos. Con la 4.093 no recibo los valores correctos. Voy a tratar de conseguir la versión 4.08 para tener la versión más nueva y probar que me funciona

Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 25 de Enero de 2012, 20:22:16
sustituye tus drivers por los de la 4.023, o al menos los de usb, pic18_usb, usb.c, usb.h, y creo que hay otro pero no recuerdo cual es
Título: Re: Interfas USB 18f4550
Publicado por: marito en 25 de Enero de 2012, 20:31:31
Si, sustitui la carpeta drives por la de la versión 4.023. Sobreescribió 157 archivos. Ya funciona la comunicación, envío y recibo entre el18f4550 y la PC con windows7 64 bits
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 25 de Enero de 2012, 20:33:11
 :-/ :-/ :-/ :-/
que bien que funcionó!
Título: Re: Interfas USB 18f4550
Publicado por: marito en 26 de Enero de 2012, 21:35:40
Rivale muchas gracias por tu ayuda!

Ahora a seguir trabajando con el bootloader!!!

Saludos
Título: Re: Interfas USB 18f4550
Publicado por: marito en 30 de Enero de 2012, 19:50:26
Finalmente logré instalar un bootloader, y también usar comunicación CDC en el mismo PIC.

No me funcionó con el bootloader HID. Use el bootloader CDC de CCS.

De modo que tengo un bootloader CDC y comunicación CDC.

Saludos!
Título: Re: Interfas USB 18f4550
Publicado por: rivale en 30 de Enero de 2012, 22:48:28
Que bien que funcionó finalmente, por lo visto no se pueden tener los 2 protocolos al mismo tiempo en el mismo micro