Autor Tema: Lenguaje para 18F y dsPIC  (Leído 4448 veces)

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

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Lenguaje para 18F y dsPIC
« en: 26 de Abril de 2006, 07:14:57 »
Hola colegas, mi inquietud es la siguiente:

Pretendo empezar con la programación de la familia 18F, pero mi idea es que lo aprendido para esta poderlo extender y aplicar a los dcPIC, por lo tanto

¿Que lenguaje de programación usar? C, C18, Basic, para después ampliando los conocimientos ya conseguidos no tener necesidad de aprender otro lenguaje para aplicar a los dsPIC

Espero no molestar con la inquietud.

Un saludo a todos y desde ya muchas gracias.

Carlos.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje para 18F y dsPIC
« Respuesta #1 en: 26 de Abril de 2006, 08:14:01 »
Hola colegas, mi inquietud es la siguiente:

Pretendo empezar con la programación de la familia 18F, pero mi idea es que lo aprendido para esta poderlo extender y aplicar a los dcPIC, por lo tanto

¿Que lenguaje de programación usar? C, C18, Basic, para después ampliando los conocimientos ya conseguidos no tener necesidad de aprender otro lenguaje para aplicar a los dsPIC

Espero no molestar con la inquietud.

Un saludo a todos y desde ya muchas gracias.

Carlos.



Hola Carlos, si me permites una sugerencia yo que tu usaría el C18 y luego te pasas al C30 que es también de Microchip y es extremadamente similar al C18.

Muchos de los ejemplos sobre toda índole para dsPICs y dsp en general están escritos en C.  EL C de Microchip es bastante compatible con el ANSI C lo cual te permitirá migrar otros códigos a él con muy poco esfuerzo.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Lenguaje para 18F y dsPIC
« Respuesta #2 en: 26 de Abril de 2006, 08:23:34 »
Hola maunix, realmente esa es la idea que tenia en mente (C18 yC30), pero queria confirmarla con opiniones de personas que sepan del tema.

Se que el .asm para los dsPIC es muy complejo, incluso para la familia 18F ya lo es vastante, por eso se me presenta la inquietud de aprender otro lenguaje y de paso tambien en un futuro poderlo aplicar a lo ds PIC.

Bueno, esperare alguna otra opinion y tomare la decicion de cual es el mejor camino a tomar, tambien por lo que e visto el C18 y C30 para un optimo desempeño hay que adquirir la vercion no estudiante, en principio es lo que me desalento para ya tomar la decicion final.

De todas maneras te agradesco la respuesta, que porsupuesto la tendre en cuenta.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje para 18F y dsPIC
« Respuesta #3 en: 26 de Abril de 2006, 13:23:03 »
Bueno, esperare alguna otra opinion y tomare la decicion de cual es el mejor camino a tomar, tambien por lo que e visto el C18 y C30 para un optimo desempeño hay que adquirir la vercion no estudiante, en principio es lo que me desalento para ya tomar la decicion final.

Me alegro y como tu dices se complica bastante programar en ensamblador en los pics mas grandes. 

En cuanto al tema de la version estudiante funciona con todas las optimizaciones durante 60 dias.  Luego de eso el codigo generado es solo un 15% mayor que sin las optimizaciones. 

Hasta ahora no me ha pasado llenar totalmente un pic grande con un programa asi que yo que tu pierdo el miedo.

Lo mismo ocurre con otros compiladores en C, las versiones free vienen limitadas para tamaño de codigo (2K maximo por ejemplo) o vienen limitadas las posibilidades para la optimizacion.

De hecho, muchos consiguen versiones full bajandolas con el emule por ejemplo sin pagar por ello...

Si prefieres optar por la legalidad y tener una version FULL tienes la opcion del SDCC que poco a poco va ganando soporte para los 16F, 18F , 24F y dsPIC.  Esta es una opcion muy valida aunque aun tal vez este en version de prueba para algunos pics y debas hacer ajustes o renegar un poco.  Es un compilador free que se estan haciendo puertos para varios microcontroladores, incluyendo ahora a los pics.

Un abrazo

PD: Disculpa la falta de acentos pero en esta PC no los encuentro :)
« Última modificación: 26 de Abril de 2006, 13:24:41 por maunix »
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Lenguaje para 18F y dsPIC
« Respuesta #4 en: 26 de Abril de 2006, 13:27:04 »
Reafirmarme en lo que dice el amigo maunix, para la familia 18 el C18 y para dsPic o la familia 24 el C30, aunque tendriamos que ver el .hex que genera el CCS para la familia 18.....


Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Lenguaje para 18F y dsPIC
« Respuesta #5 en: 26 de Abril de 2006, 19:24:31 »
Hola maunix y vszener, gracias por las respuestas, siguiendo el consejo del colega maunix que dicho sea de paso es confirmada por vszener, me e decidido por el C18 y más adelante el C30, y no me asustare por la optimización como dice maunix.

Bueno, e estado dando los primeros pasos y consegui intalar el C18 de manera correcta, copiar un programita y poderlo compilar y probar en proteus, lo cual me a confirmado que todo anda de manera correcta, pero ahora viene lo bravo "aprender el C", por lo que tendre que ponerme a estudiar  :mrgreen:

Gracias a ambos, un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje para 18F y dsPIC
« Respuesta #6 en: 26 de Abril de 2006, 19:35:29 »
Me alegro mucho, no soy un experto en C pero por ahi te pueda echar alguna mano si necesitas ayuda  con algo que yo sepa :) :)

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado J1M

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1960
Re: Lenguaje para 18F y dsPIC
« Respuesta #7 en: 26 de Abril de 2006, 19:56:05 »
Chaly otra opción alternativa a C18+C30 es usar CCS, esta semana sale la versión 4.0 preparada (por fin) para Dspic.. por lo que con un mismo compilador (para mi gusto el mejor y mas optimizado) puedes programar y compilar todas las familias de Pics... el único inconveniente es que no es gratuito como lo son el C18 y C30.... ;)

saludos!

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Lenguaje para 18F y dsPIC
« Respuesta #8 en: 26 de Abril de 2006, 20:26:51 »
Hola J1M, muy buena opcion para tener en cuenta, como todos sabemos muchos programas son pagos, nadie los paga y todos los tenemos  :? por lo que pago o no, se que al CCS se puede conseguir.

Gracias por el consejo, un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
Re: Lenguaje para 18F y dsPIC
« Respuesta #9 en: 26 de Abril de 2006, 23:13:06 »
Hola J1M, estoy tambien por empezar con los 18, tienes experiencia, o conoces que tal es la optimizacion del CCS para esos micros...?

Desde ya gracias.

Saludos.
Alejandro

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje para 18F y dsPIC
« Respuesta #10 en: 26 de Abril de 2006, 23:27:33 »
Chaly otra opción alternativa a C18+C30 es usar CCS, esta semana sale la versión 4.0 preparada (por fin) para Dspic.. por lo que con un mismo compilador (para mi gusto el mejor y mas optimizado) puedes programar y compilar todas las familias de Pics... el único inconveniente es que no es gratuito como lo son el C18 y C30.... ;)

saludos!

J1M tu usas ccs para los 18F?

Siempre me pareció algo molesto el tema de setear el clock al principio del código para que se autoconfiguren las instrucciones delay_ms() por ejemplo.

Te quería preguntar, como resuelven el tema de estas funciones en los microcontroladores que tienen posibilidad de variar la frecuencia? 

Es solo a título informativo ya que por ejemplo Microchip en el C18 no hace instrucciones del tipo delay_ms sino que directamente hacen instrucciones del tipo delay1KTCYx() que significaría que hace n x 1000 ciclos de instrucción.   

De esa forma si uno cambia la frecuencia el código sigue siendo 'intuitivo'.  De la otra forma como el delay_ms estaba configurado para un cierto clock al cambiar el clock se cambia el delay a pesar que uno ve el código y dice delay_ms(20) por ejemplo.  Repito lo hago pensando en cuando uno varía la frecuencia durante la ejecución.

Lo digo pensando en por ejemplo los 18F4520 o los 18F4580 que sí los he usado y tienen posibilidad de irle variando la frecuencia durante la ejecucion del código y se puede variar de 32Khz a 32Mhz usando el oscilador interno.

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado Mario_2004

  • PIC10
  • *
  • Mensajes: 30
Re: Lenguaje para 18F y dsPIC
« Respuesta #11 en: 27 de Abril de 2006, 09:55:05 »
Hola Mauricio, este parrafo lo he encontrado en el manual del CCS pag. 198, no lo he probado nunca, pero parece ser que si se puede recalcular los delay durante la ejecución del programa:

Citar
WARNING: If the speed is changed at run time the
compiler may not generate the correct delays for some
built in functions. The last #USE DELAY encountered in
the file is always assumed to be the correct speed. You
can have multiple #USE DELAY lines to control the
compilers knowledge about the speed.

Espero te sea de ayuda. Saludos,

Mario

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje para 18F y dsPIC
« Respuesta #12 en: 27 de Abril de 2006, 11:37:18 »
Gracias Mario.

Por eso, en mi opinión, puede ser peligroso usar rutinas del tipo de demora de x mseg cuando se cambia la frecuencia cambia todo  :?

De ahi que en gral me inclino a usar demoras de X ciclos porque si cambio la frecuencia inmediatamente al volver a leer un código que escribí hace tiempo me doy cuenta que la demora depende del clock.  De la otra forma se me presta a confusión (a mi al menos).

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)