Autor Tema: Lenguaje C o lenguaje CCS?  (Leído 12109 veces)

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

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Lenguaje C o lenguaje CCS?
« en: 19 de Mayo de 2011, 08:17:52 »
 :?
Hola a todos.
Lo primero es que lo que voy a escribir lo hago con el mayor respeto que les tengo a todos y al foro.
La pregunta la hago, por que cuando busco ejemplos en lenguaje C para los PIC, lo único que encuentro(salvo algunas librerías globales) son ejemplos en CCS, y a mi modo de ver, son ejemplos incompletos, carentes de lenguaje C para aprender...
Como es posible que, quiera saber como implementar una comunicación RS-232 en un PIC como el 12F509 y me encuentre con lo siguiente:

Código: [Seleccionar]
#use rs232(baud=9600, xmit=PIN_B1, rcv=PIN_B2, FORCE_SW)   //[size=10pt][b]manejo del RS232[/b][/size]
Me pregunto, "manejo del RS232"?..o será más bien "manejo del CCS sobre el RS-232...?  por que me atrevería a decir, que más del 80% que solo han usado el CCS para PIC, no saben como hacer la rutina en lenguaje C fuera del CCS   :oops: ....que son rutinas ya implementadas, para que reinventar la rueda...pero no les parece mucho mejor, saber como se hace en lenguaje C y variar parámetros a tu antojo, mejor dicho tener el control absoluto de tu código?
Yo no uso CCS, por que simplemente hay que pagar por él, y asi sepa donde conseguirlo ilegal, tampoco lo hago, uso Soft libre, de hecho solo uso Linux, uso el SDCC en PIK lab, no seré muy ducho en C, como los verdaderos maestros del lenguae C, pero estoy en esa linea de aprendizaje y puedo decir que el CCS, no pertenece a esa linea de aprendizaje, más bien lo pondría en la linea del facilismo el cuál ayuda solo en aquellos momentos en donde nos veamos apurados o falta de tiempo.

Saludos

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Lenguaje C o lenguaje CCS?
« Respuesta #1 en: 19 de Mayo de 2011, 09:12:39 »
Hola marvicdigital

yo alguna vez logré implementar una rutina en asm para transmitir datos en un 16f84a, después usando el modulo usart que vienen en otros pic, y después cuando me pasé al C, me conseguí que el ccs ya traía las funciones built-in, que no son mas que funciones que hacen la mayor parte del trabajo.

lo que tu dices sobre tener el control absoluto sobre nuestros códigos es cierto, aún en ccs cualquiera puede dejar de usar las built-in y escribir sus propias funciones desde cero, es cuestión de gustos y de conveniencia. yo por ejemplo no he tenido tanto problemas con las funciones compiladas, así que mientras hagan lo que quiero, las seguiré usando.

también hay que decir, que tener el control sobre el código, no es sinónimo que nunca tendremos problemas, porque en los pics existen los llamados silicon errata y también pueden dar malas jugadas a veces.

En fin se trata de reducir el tiempo de trabajo, reducir el stress de la programación y lograr la satisfacción del funcionamiento.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Lenguaje C o lenguaje CCS?
« Respuesta #2 en: 19 de Mayo de 2011, 09:31:49 »
Me uno a lo que dice Pedro, puede que el CCS no sea el programa perfecto pero no podemos demeritar las ventajas que trae, en CCS bien podemos obviar las funciones compiladas y crear las nuestras, o si lo que se quiere es acariciar la arquitectura intrínseca del PIC lo podemos hacer en ASSEMBLER. pues finalmente todos los compiladores lo que hacen es traducir el código asm.

Saludos.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Lenguaje C o lenguaje CCS?
« Respuesta #3 en: 19 de Mayo de 2011, 09:39:22 »
Hola.

Debe ser porque no colocas una descripción mas para el lenguaje jeje ... si colocas en el buscador rutinas C + HiTech ... debe aparecer algo diferente.

Creo que CCS es el mas usado acá en el foro, pero también he visto que el C18 toma fuerza ...

Saludos
El papel lo aguanta todo

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Lenguaje C o lenguaje CCS?
« Respuesta #4 en: 19 de Mayo de 2011, 09:52:10 »
Yo programe rutinas de comunicación en assembler, no quiero acordarme lo que renegué.
Después hice lo mismo en Basic para PIC y por ultimo lo hice en CCS.
Olvidarme de configurar registros según el cristal que utilices, ver el tiempo de bit, los tiempos de pausa, tratamiento de errores, cambios de velocidad, etcétera.....es impagable !!!

Solo digo que cada uno elige que quiere, no hay un concepto absoluto en programación.
Para mi la optimizacion del código es despreciable cuando comparo el tiempo de desarrollo, y eso que vivo en Argentina, donde nuestro tiempo es mas barato!!
Imagínate en Europa o EEUU, donde la hora del programador es mas cara.
Ponerse a depurar rutinas de comunicación serial !!
Ya es tiempo de otras tecnologías de comunicación, como son el USB y ethernet o wifi, yo no le dedico ni un minuto a hacerlo en codigo, por mas que sea una practica...

Ademas que puertos vas a usar de los PC modernos, que ya no traen seriales??? :D :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado dolphin_96

  • PIC12
  • **
  • Mensajes: 73
    • Ezkybel Electronics
Re: Lenguaje C o lenguaje CCS?
« Respuesta #5 en: 19 de Mayo de 2011, 10:14:14 »
Tienen, razon si tu usas c para programar, aun asi estas haciendolo de la forma "facilisima", si quieres hacerlo con un "control total" entonces usa ensamblador, si lo que te gusta es batallar haslo, como tu lo mencionas, se usa para reducir tiempos de programacion, y es lo mismo qu tu estas haciendo al usar c.

Visiten: www.xbot.es/ezkybel tengo tutoriales para pics con visual basic...:)

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Lenguaje C o lenguaje CCS?
« Respuesta #6 en: 19 de Mayo de 2011, 10:20:50 »
La respuesta es fácil, CCS tiene algo de C, creo las estructuras de control, nada más!  :D Si quieres aprender C aplicado a los PICs, CCS no es lo adecuado, mejor busca Hi-Tech, peroooo vas a encontrar poco  :?

CCS es un lenguaje muy facil de usar y por ello abarco mucho en los hobbista, el 95% de lo que ronda por la red,  entonces hay información de todo tipo.

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

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Lenguaje C o lenguaje CCS?
« Respuesta #7 en: 19 de Mayo de 2011, 11:28:57 »
Debería haber un C16 jeje, para programar desde plataforma MPLAB en el C estandar como C18.

Estoy trabajando bastante seguido con C18, y simplemente me parece genial, tiene sus huevadillas al principio pero cuando te acostumbras lo ves bastante útil.

Lo único q me gusta del CCS es la facilidad, hace ver q la programacion de pics es muuy sencilla.

CCS talvez para iniciar viene muy bien, después hay q pasar a un mejor nivel.
.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Lenguaje C o lenguaje CCS?
« Respuesta #8 en: 19 de Mayo de 2011, 12:11:43 »
Por el tiempo que llevo en C puedo decir lo siguiente:

Realmente en CCS las funciones facilitan mucho las cosas, pero no sabes realmente como van los registros del pic, aun no dejo CCS por lo rapido que se hacen las cosas pero ahora que ando con C30 de a pocos a mi parecer es mejor ya que sabes que registro estas usando y que le estas haciendo, mejor dicho el control del pic lo tiene uno.

Ademas con lo barato que esta un pic24 o un dspic, comparando con las caracteristicas entre estos y pics de gama menor, pues la diferencia es enorme.

Por eso mejor de apocos voy con el C30, de alli a saltar a C32 no hay mucho y si quieres pasarte a otra marca que use el standard C, no hay mucho por hacer mas que conocer los registros de chip a usar.

Saludos
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Lenguaje C o lenguaje CCS?
« Respuesta #9 en: 19 de Mayo de 2011, 12:47:11 »
...Ademas que puertos vas a usar de los PC modernos, que ya no traen seriales??? :D ..

Marcos pero recuerda que los puertos virtuales son el sustituto del COM, fíjate la cantidad de dispositivos que existen hoy día que crean puertos seriales virtuales.  :)


Por el tiempo que llevo en C puedo decir lo siguiente:

Realmente en CCS las funciones facilitan mucho las cosas, pero no sabes realmente como van los registros del pic, ...

yo cuando veo que algo anda mal, paso el código por un simulador y veo el comportamiento de los SFR usando breakpoints y por ahí voy analizando fallas y depurando.

por ejemplo, en ccs existen las funciones setup_xxxxx que sirven para configurar los módulos que traen los micros, cuando quiero saber que hace cada setup_xxx, miro el asm generado o veo los SFR en la simulación.

hasta ahora no he tenido tantos problemas por fallas extrañas que introduce la gente que creó el compilador.

soy fan del ccs, pero también soy bastante critico por la cantidad de bugs que trae (y vaya que me burlo bastante por la cantidad de bugs que salen en cada versión).

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado marvicdigital

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 311
Re: Lenguaje C o lenguaje CCS?
« Respuesta #10 en: 19 de Mayo de 2011, 14:00:36 »
Tienen, razon si tu usas c para programar, aun asi estas haciendolo de la forma "facilisima", si quieres hacerlo con un "control total" entonces usa ensamblador, si lo que te gusta es batallar haslo, como tu lo mencionas, se usa para reducir tiempos de programacion, y es lo mismo qu tu estas haciendo al usar c.



Lllevas razón amigo dolphin; yo he usado ASM desde 1.995, hice una pausa muy larga con microcontroladores y el mundo del diseño, por varios años, ahora vuelvo, aunque lo he hecho muy pausadamente y hasta interrumpidamente, por eso he querido aprovechar al máximo cada minuto y por eso he querido aprender lenguaje C, pero siempre enfocado a que ese código que haga lo haga pensando en ensamblador, y que me sirva para aplicarlo a otras familias o marcas como Freescale, Atmel...
Sobre lo del RS-232 en el 12F509, lo puse a modo de ejemplo, hay veces donde hago código para mis Freecale y necesito alguna guía o truco de como hacer determinada función, y como lo más común es ver código para PIC, pues vengo y consulto algunos ejemplos que puedan darme alguna idea, truco para el código y me encuentro con pragmas ya hechos por un programa llamado CCS, y que para poder ver esas rutinas tengo que pagar o bajarmelo ilegalmente..entonces paso de hacer eso, y mejor me pongo a experimentar, a perder tiempo para algunos..pero a mi modo de ver, aprender y poder eso código aplicarlo en otro chip de otra marca, de hecho así tengo algunos código de cosas muy básicas como controladores de temperatura, contador de turnos, timers y una que otra cosa por ahí..los tengo listos para poderlos grabar en un Atmel, PIC o Freescale, solo tengo que cambiar los #define al principio por los registros que use la marca de microcontrolador..esto es algo que me imagino no es muy fácil de hacer si solo te limitas a usar CCS.......
Ejemplo de esto es la maravillosa librería para LCD que hizo nuestro amigo Suky, de donde se puede aprender mucho..y es una librería universal, te sirve para PIC, Freescale, Atmel y otras familias que no recuerdo, con 11 pines, 7 y hasta con solo 3 pines según tus necesidades..eso es algo que yo quiero hacer, aprender...por eso me refiero al CCS no como un lenguaje C si no como un lenguaje CCS...

Saludos.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Lenguaje C o lenguaje CCS?
« Respuesta #11 en: 19 de Mayo de 2011, 21:27:44 »
Hola, mi opiniones.

Todo depende de cuales sean tus aspiraciones, si lo tuyo es el hobby te recomiendo CCS, es la manera más fácil y rápida de concretar proyectos con PICs. Ahora si  pensas en dedicarte profesionalmente a programar micros y con la posibilidad de trabajar con otras marcas tal vez la elección pase por otro compilador que se ajuste más el estandart.  CCS es casi una excepción ya que no conozco paquetes de compilación que traigan tanta funcionalidad, eso si hay muchas versiones lo que no habla bien del producto final. Si te queres dedicar profesionalmente, primero debes aprender C básico, y en una PC es lo mejor, con respecto al manejo de puertos series, debes leer algún libro sobre embebidos y no viene mal una lectura sobre estructuras de datos ( colas, pilas, listas linkeadas, etc, etc ). 

Saludos !

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje C o lenguaje CCS?
« Respuesta #12 en: 23 de Mayo de 2011, 09:35:58 »
Como es posible que, quiera saber como implementar una comunicación RS-232 en un PIC como el 12F509 y me encuentre con lo siguiente:

Código: [Seleccionar]
#use rs232(baud=9600, xmit=PIN_B1, rcv=PIN_B2, FORCE_SW)   //[size=10pt][b]manejo del RS232[/b][/size]
Me pregunto, "manejo del RS232"?..o será más bien "manejo del CCS sobre el RS-232...?  por que me atrevería a decir, que más del 80% que solo han usado el CCS para PIC, no saben como hacer la rutina en lenguaje C fuera del CCS 

Yo no uso CCS, por que simplemente hay que pagar por él, y asi sepa donde conseguirlo ilegal, tampoco lo hago, uso Soft libre, de hecho solo uso Linux, uso el SDCC en PIK lab, no seré muy ducho en C, como los verdaderos maestros del lenguae C, pero estoy en esa linea de aprendizaje y puedo decir que el CCS, no pertenece a esa linea de aprendizaje, más bien lo pondría en la linea del facilismo el cuál ayuda solo en aquellos momentos en donde nos veamos apurados o falta de tiempo.


Hola marvicdigital, creo que podemos coincidir en muchas cosas pero también es cierto que el CCS tiene muchos adeptos y mientras haya adeptos y dispuestos a compartir, allí estara CCS para los que quieran usarlo.

Hasta donde recuerdo este debate ha surgido una y otra vez con cierto período de tiempo.

Es cierto que no es un C muy estandar, pero en mis años que participé en el foro noté que a mucha gente le caía bien y si a ellos les cae bien y les parece útil, entonces se cumplió el cometido.  Además esa gente a las que les caía bien compartía y publicaba el código, de allí la mayor fuerza del CCS es la participación de su gente.

Si has notado que no te sirve, pues bien, ve por otro camino como hicimos varios.  En lo personal uso C18 y es bastante ANSI C, tienes versiones gratuitas también de C18 que no optimizan tanto pero vamos, que el SDCC tampoco es la panacea optimizando  :mrgreen:

Una jugada en contra para el PikLab creo que es que el nuevo MPLAB X IDE es multiplataforma y corre muy bien en Linux (lo probé personalmente), incluso con el C18 y otros compiladores... y si bien soy fan del software libre a la hora de trabajar uno tiene tan poco tiempo que a veces cuesta encima participar en el desarrollo/colaboración del IDE, por ahi prefiero tomar atajos como el uso de un IDE que ya sea conocido, probado y con muchas más opciones de allí que en Linux empecé a usar eL MPLAB X IDE (y conste que usaba el Piklab, con mi ICD2).

Un punto muy a favor del C18 es que tienes rutinas para todo y tienes el código fuente de todo, no hay rutinas 'embebidas' que no sepas como es el código y recién te das cuenta que hicieron cuando aparece el assembler generado.  Además el C18 es muy flexible y te permite hacer miles de cosas, de hecho yo que provengo del assembler más crudo encontré el C18 muy útil justamente porque me permitía combinar ambos mundos de manera sencilla y transparente.  Lo mismo ocurre con el PICC de hitech (aunque ahora lo compró microchip)


hasta ahora no he tenido tantos problemas por fallas extrañas que introduce la gente que creó el compilador.

soy fan del ccs, pero también soy bastante critico por la cantidad de bugs que trae (y vaya que me burlo bastante por la cantidad de bugs que salen en cada versión).



Hola PalitroqueZ, tantos años!! La verdad admiro tu paciencia jiji, yo no podría tener un compilador que en cada versión introduzca bugs nuevos y que además deba saber cuales son... pero si eres tolerante a estas cosas, pues los de CCS estan de parabienes :D  . Osea eres crítico pero lo sigues usando encima en cosas que por ahí son complejas cuando te juegas tu prestigio técnico.

Además, que seguridad o tranquilidad se puede tener, si con cada versión hay tantos nuevos bugs?
De hecho, vengo leyendo de eso desde que conozco usuarios de CCS e incluso en algú momento lo usé pero me cansé porque un codigo sencillo no se comportaba en forma clara y seguro era debido a un bug, cambié de compilador con la misma estructura de código y anduvo de primera mano...

Ahora bien si tienes un proyecto grande que te demora varios meses en realizarse y durante el cual la versión del CCS va cambiando de version a version ¿como haces para soportar la incertidumbre? guardas el proyecto junto con el compilador? que tranquilidad hay que más adelante ese proyecto compilará bien o generará un código bueno con un nuevo ccs?

Estoy solo suponiendo, sé que muchos lo usan y les va muy bien pero bueno son dudas que siempre tuve de cómo un puede combinar ambas cosas, la incertidumbre y el conocimiento certero de que cada nueva versión contiene nuevos bugs... y la tranquilidad que uno debe tener al hacer un sistema embebido ya que uno vende algo y por ahi termina a cientos de km de distancia (incluso a paises lejanos) y me sería muy costoso tener que probar todo nuevamente con cada cambio del compilador.

Un abrazo y a seguir opinando con tan buenos argumentos que es lo que enriquece el debate!
- 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 MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Lenguaje C o lenguaje CCS?
« Respuesta #13 en: 23 de Mayo de 2011, 09:59:51 »
Je..je..
Nos encanta sufrir los Bugs del CCS  :D :D :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: Lenguaje C o lenguaje CCS?
« Respuesta #14 en: 23 de Mayo de 2011, 10:03:34 »
Je..je..
Nos encanta sufrir los Bugs del CCS  :D :D :D :D

¿Algo asi como masoCCSista?   :D :D :D
- 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)