Autor Tema: C18???, CCS???, que hay de diferente?  (Leído 4401 veces)

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

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
C18???, CCS???, que hay de diferente?
« en: 09 de Marzo de 2011, 16:08:29 »
Hola amigos de todopic, tengo una consulta que hacerles:

Yo uso el CCS para programar, lo hago por medio de un plugin que me permite programar desde MPlab, este lenguaje soporta los PICs 12,16,18,24,32 y DSPICs, por lo que no he tenido problemas con algun PIC.

Hace algún tiempo me entere de un lenguaje llamado C18, el cuál es muy parecido a la sintaxis del CCS, me llama la atención, pero la verdad no logro comprender las diferencias entre el CCS de toda la vida y el C18, alguien me podría decir cuales son?, ya que algunas personas dicen que el C18 es más potente.

Me conviene aprender este lenguaje?, es que todo lo que me he propuesto lo he logrado por medio del CCS, pero si el C18 optimiza más el código o tiene más control sobre el PIC, no dudaría en cambiarme.

otra pregunta...Puedo tener tanto el CCS como el C18 al mismo tiempo en MPLAB y escoger uno u otro cuando la ocasión lo amerite?, así tengo el CCS y el ASM dentro del MPLAB.

Muchas gracias por su tiempo.
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: C18???, CCS???, que hay de diferente?
« Respuesta #1 en: 09 de Marzo de 2011, 16:24:06 »
te respondiste con la diferencia.

Citar
C18 optimiza más el código o tiene más control sobre el PIC

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: C18???, CCS???, que hay de diferente?
« Respuesta #2 en: 09 de Marzo de 2011, 18:09:17 »
Tengo entendido que C18 es un poco más complicado que CCS, ya que este ultimo te permite utilizar funciones para manejar los perifericos bastantes simples, por ejemplo si quieres configurar el ADC CCS trae una funcion que se llama Setup_ADC() y luego ingresas todos los parametros del ADC, mientras que en C18 debes modificar los registros uno por uno para lograr configurar el ADC a como desees.

te respondiste con la diferencia.

Citar
C18 optimiza más el código o tiene más control sobre el PIC

De eso yo no estoy muy seguro, ya que una vez realice un código en el que realizaba la multiplicación por 4 de un número, la forma más eficiente de hacer esto es desplazando el número 2 veces, cosa que CCS entendió a la perfección sin necesidad de haberle indicado que lo realizara, mientras que en C18 era necesario indicarle el desplazamiento para que realizara la multiplicación por 4.

Es muy probable que C18 sea un poco más eficiente porque fue hecho por los mismos fabricantes de los PIC, pero tambien existe otra desventaja y es que C18 solo funciona para PIC18 segun entiendo mientras que CCS funciona para los PIC que ya mencionaste.

:? al final siempre es necesario saber utilizar mas de un Compilador y mas de un tipo de Microcontrolador, como dice en uno de estos foros "No solo de PIC vive el Hombre"
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: C18???, CCS???, que hay de diferente?
« Respuesta #3 en: 09 de Marzo de 2011, 20:32:30 »
te respondiste con la diferencia.

Citar
C18 optimiza más el código o tiene más control sobre el PIC

Hola, de acuerdo con LABmouse en ese punto, pero también estoy de acuerdo con bigluis. Es cierto que C18 optimiza más el código y es un compilador bastante 'ANSI', pero para el usuario común, el CCS es bastante cómodo de usar por la cantidad de instrucciones propias que lo hacen ser un poco más de 'alto nivel', mientras que en el C18 debes utilizar directamente los registros haciendo su uso algo 'parecido' al assembler obviamente exceptuando por la sintaxis de cada uno.  De hecho y si lo quieres, puedes declarar los registros en CCS y utilizarlo de manera muy parecida al C18.

Saludos!

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: C18???, CCS???, que hay de diferente?
« Respuesta #4 en: 09 de Marzo de 2011, 21:50:33 »
C18-> ANSI C  :mrgreen: Con eso creo que digo todo  :D Librerías de código abierto, versión estudiantil, ect . Aaa! y lo mejor de todo es que fuerza al programador a usar el bocho  :D

CCS -> 10000000000 versiones diferentes, con parches para solucionar un bug que generan otros bugs  :D

Estoy de acuerdo con bigluis, no se fijen es un solo compilador, sino varios pero que sean ANSI C  :)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: C18???, CCS???, que hay de diferente?
« Respuesta #5 en: 10 de Marzo de 2011, 02:15:19 »
Si lo que buscas es aprender rápido e incrementar la productividad, entendiéndola como obtener grandes resultados en el menor tiempo posible: CCS.

Si quieres compatibilidad a toda costa, aunque se incremente la dificultad: C18.

A pesar de que en su historia CCS ha demostrado tener muchos bugs, también es verdad que las últimas versiones vienen bastante depuradas y a mi modo de ver tienen más ventajas que inconvenientes. ¡Ojo!, siempre que no pongas en la balanza el tema de la compatibilidad, que a mí personalmente me da lo mismo.

Desconectado falflores

  • PIC16
  • ***
  • Mensajes: 173
    • Control, electrónica y programación en español
Re: C18???, CCS???, que hay de diferente?
« Respuesta #6 en: 10 de Marzo de 2011, 02:24:24 »
Gracias a todos por sus respuestas muchachos, otra cosa, saben si hay un equivalente de C18, pero para la familia 16?
Los invito a mi blog "Control, electrónica y programación en español" www.robotnias.blogspot.com

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: C18???, CCS???, que hay de diferente?
« Respuesta #7 en: 10 de Marzo de 2011, 06:42:28 »
hola buenos dias, leyendo la opinion de cada uno, en si cada quien tiene su grado de verdad y es asi como lo exponen; cada diseñador tiene que ajustarse a sus necesidades y algo importante a sus conocimientos claro esta que el deseo de avnzar es bueno y tiene que ser asi pero en momento importa rapides seguriidad y lograr el objetivo asi que la diferencia de cada compilador la pone es el diseñar a mi modo de ver las cosas pero de que se puede lograr los objetivos con ambos compiladores se puede ahora en cuando a la optimizacion de c18 es un buen punto a favor y muy malo lo de los bugs para ccs pero son detalles de compiladores que a futuro se resuelve solo hay que dar opiniones para seguri adelante.

Ahora en cuanto a  familia 16 no he visto nada solo c18, c30 y c32.

Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: C18???, CCS???, que hay de diferente?
« Respuesta #8 en: 10 de Marzo de 2011, 09:44:59 »
  También existe el compilador HiTech, que para los 12 y 16 es libre en su versión lite y para la familia 18 hay un período de prueba, aunque a mi se me pasó dicho tiempo y sigo compilando sin problemas.
  Creo que con este compilador sería muy fácil migrar de un pic16 a un pic18. Pongo un ejemplo más que sencillo, pero que se puede compilar para ambas familias sin problema. Por supuesto hay que tener en cuenta que puede haber diferencias en la configuración de los periféricos del PIC y que obviamente las habrá en cuanto a los bits de configuración de cada PIC

Código: C
  1. #include <htc.h>
  2.  
  3. #define _XTAL_FREQ  10000000  //cristal 10MHz, esto es para poder usar las rutinas de delay
  4.  
  5. void main(void)
  6. {
  7.   TRISAB = 0; //todo el puerto b como salida
  8.   PORTB = 1;
  9.   while (1)
  10.   {
  11.     if (RB7 == 0) PORTB = PORTB << 1;
  12.     else
  13.       PORTB = 1;
  14.     __delay_ms (50);
  15.   }
  16. }
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: C18???, CCS???, que hay de diferente?
« Respuesta #9 en: 24 de Julio de 2011, 23:16:59 »
Aprovecho este hilo para hacer una pregunta, el compilador C18 para el MPLAB tiene alguna lisencia de caducidad, o limitaciones, y cuales son? o es libre?
Aclaro que uso el MAPLAB X en Linux, y no vi nada de caducidad de 60 días o algo por el estilo

Gracias y saludos

« Última modificación: 25 de Julio de 2011, 07:09:56 por marvicdigital »