Autor Tema: Please, que alguien compile un ejemplo de CCS  (Leído 8087 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Please, que alguien compile un ejemplo de CCS
« en: 02 de Noviembre de 2007, 13:32:46 »
Necesito que alguien me haga un favor, porque estoy a punto de volverme loco.

Estoy intentando probar el sencillo ejemplo ex_usb_serial.c de CCS, cuyo única función es enviar al puerto serie lo que se reciba en el USB y al USB lo que se reciba en el serie; vamos, una pasarela USB-serie.

Cuando lo compilo y lo grabo en un 18F2550 va perfecto.
Sin embargo, si lo intento compilar para un 18F2450 se abre de patas.

He estado tocando los .H de CCS hasta conseguir que compile y que incluso enumere el dispositivo USB, mostrándome un flamante puerto COM4 en Windows.

Sin embargo, cuando lo ejecuto es capaz de enviar caracteres por el USB, pero no recibe bien. Detecta
cuando llega algo, pero siempre lee 0.

¿Alguien puede probar a compilar para el 18F2450 con su versión de CCS?

Gracias

Desconectado Azicuetano

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1020
    • Aplicaciones Electrónicas en Alicante.
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #1 en: 02 de Noviembre de 2007, 14:10:55 »
Acabo de compilarlo para el 18F2450 y me lo hace a la perfección.

La versión con la que lo he hecho es:

3.249

Es la que tengo en mi casa.


Un saludo desde Alicante.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #2 en: 02 de Noviembre de 2007, 15:53:25 »
Gracias por la info, Iván. Había probado con la 3.242, 4.049 y 4.057 y fallaba con todas.

Acabo de hacerme con una 3.249 y efectivamente compila a la perfección.

Sin embargo, cuando lo grabo en el PIC no consigue enumerar el puerto USB. Me temo que me sigue quedando lucha por delante.

Desconectado proclamer

  • PIC10
  • *
  • Mensajes: 30
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #3 en: 02 de Noviembre de 2007, 15:57:28 »
habra alguna razon en especial que las librerias de estos pic no compilen, o puede ser errores del compilador.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #4 en: 02 de Noviembre de 2007, 16:02:49 »
Los compiladores de CCS C son un Bug que compila ... la mayoría de las veces. Ja, ja, ja  :D :D :D

No, en serio. ¿No será el 18F2450 el que va mal?  :shock:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #5 en: 02 de Noviembre de 2007, 16:10:02 »
Me extraña que esté mal, porque ya te digo que hasta he conseguido que enumere bien con otro Firmware e incluso funcione perfectamente el usb_cdc_putc() y el usb_cdc_kbhit(). Lamentablemente el problema es que el usb_cdc_getc() siempre devuelve 0. Creo que debe ser un problema de direcciones de memoria, pero me jode que el compilador no lo tenga resuelto.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #6 en: 02 de Noviembre de 2007, 16:15:02 »
Y el mismo ejemplo para el 18F2550 ¿va bien?

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #7 en: 02 de Noviembre de 2007, 16:19:25 »
 :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?

Si le pongo #include <18F2550.h> y lo grabo en un 18F2550 no va bien.

Si le pongo #include <18F2450.h> y lo grabo en un 18F2550 va perfecto.

Si le pongo #include <18F2450.h> y lo grabo en un 18F2450 no va bien.

 :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?  :? :?

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #8 en: 02 de Noviembre de 2007, 16:23:22 »
Manolo te falta la última posibilidad:

Si le pongo #include <18F2550.h> y lo grabo en un 18F2450. ?????????????

¿Que resultados obtienes?

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #9 en: 02 de Noviembre de 2007, 16:26:11 »
Cierto, también lo probé y también se abre de patas.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #10 en: 02 de Noviembre de 2007, 16:30:28 »
Podrias compilar el programa para el 18F2450 y sacar la parte de la función usb_cdc_getc() en emsamblador, o mejor poner todo el programa en ensamblador para ver que puede ser.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado Gorgonas

  • PIC12
  • **
  • Mensajes: 81
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #11 en: 02 de Noviembre de 2007, 23:59:21 »
Si le pongo #include <18F2550.h> y lo grabo en un 18F2550 no va bien.

Si le pongo #include <18F2450.h> y lo grabo en un 18F2550 va perfecto.

Si le pongo #include <18F2450.h> y lo grabo en un 18F2450 no va bien.

Abre los dos archivos el 18F2450.h y el 18F2550.h mira las difrencias y comprueba el datasheet, estos archivos solo son constantes y direcciones de memoria para el compilador, seguramente tendran errores.
Es la unica explicacion que le veo yo...

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #12 en: 03 de Noviembre de 2007, 02:18:34 »
Lo de pegar el programa en ensamblador me parece una barbaridad; las funciones del USB son largas, complejas y pesadas. Sólo la del usb_cdc_getc tiene un montón de llamadas, maneja variables de estructura y arrays... un lío realmente.
Yo pienso que el problema está en las direcciones de memoria porque es la principal diferencia entre ambos micros, y enlazo con lo que comenta Gorgonas. Ambos micros son muy diferentes, tanto en número de periféricos como en cantidad de memoria, lo que provoca que los .H sean también muy distintos.
Seguiré mirando diferencias y haciendo pruebas a ver qué sale.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #13 en: 04 de Noviembre de 2007, 03:58:27 »
Por fin lo he conseguido. El problema estaba en que la librería de CCS hacía una gestión de la memoria de datos de USB como si estuviera trabajando con un 18F2550, cuyo mapa de memoria es este:


Mientras que el mapa de memoria del 18F2450 es diferente:


Estuve ajustando direcciones de memoria para encajarlo todo entre 0x400 y 0x4FF y parece que finalmente lo he conseguido. 
:-/

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Please, que alguien compile un ejemplo de CCS
« Respuesta #14 en: 04 de Noviembre de 2007, 04:34:42 »
Como dice Iven Azicuetano, todo es ponerse. Felicidades.  :mrgreen:
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania


 

anything