Autor Tema: Aprender C para PIC (busco)  (Leído 2166 veces)

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

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Aprender C para PIC (busco)
« en: 07 de Noviembre de 2016, 18:55:00 »
Hola gente:
Hace mucho tiempo no programo en asm, y se me ha olvidado casi todo.
Siempre le tuve ganas al C, pero estaba tan enganchado al asm que me parecía muy pesado cambiar el "idioma" que yo ya llevaba incorporado.
Ahora que se me ha vaciado la "olla" tengo ganas de empezar con C. Y estuve viendo mucho por internet, por youtube, libros, etc.
Pero para mi sorpresa me encuentro con el tipico "enciende un led, apaga un led" Perfecto.
Luego pasan (obviamente) a proyectos mas complicados pero NINGUNO explica para que sirve cada función/sentencia!
Es como mirar el "mira lo que hice" y quedarte sin saber nada y absolutamente confundido.
Entonces he empezado a mirar un curso de C (para PC) donde el tio explica muy bien, punto por punto, dando ejemplos y ejercicios. Y aunque ambos lenguajes son similares (ya conozco las diferencias) me falta un curso C para PICs para "tontos" .
Da igual si es video, libro o un foro.  Pero necesito el "paso a paso " indispensable para aquellos que se inician desde 0 y que le expliquen el por que de cada letra, punto , corchete etc etc. Cuanto mas largo y detallado mejor.
Alguno dentro de los genios del C me puede guiar?

PD: Me gustaria trabajar en CCS, pero si eso puedo elegir otra opcion que me aconsejeis
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Aprender C para PIC (busco)
« Respuesta #1 en: 07 de Noviembre de 2016, 19:15:57 »
En si, todo lo que es C basico, como es el control de flujo (if..else, while, do..while, for, switch..case, break ) es igual en ambos lados, PC como PICs.
La forma de declarar funciones, variables, arrays , punteros, protipos de funciones, estructuras y uniones tambien son lo mismo para ambos.
Asi como tambien la forma de organizar donde va cada cosa, me refiero a poner en que poner en los headers ( .h ) y los archivos .c.

Lo unico que no cuenta los microcontroladores respecto a la PC es lo que le llaman heap, o pensalo como una memoria "dinamica", en realidad no se hace porque es costosa en tiempo del nucleo y tampoco hay demasiada RAM. (Pero en los tutoriales basicos no creo que encuentres esto )

Hasta ahi es identico. Y podes sacarlo de cualquier tutorial que encuentres por internet. Cada uno prefiere un compilador distinto. Yo personalmente prefiero XC8, por que me manejo con los registros como si fuera ASM. Y de ultima si vas a usar muchas veces lo mismo te creas una funcion. XC8 es muy trasparente como lo es el ASM, es decir el compilador no va a hacer otra cosa ademas de lo que vos escribis, eso me da un poco de seguridad a mi gusto. Yo viniendo del ASM prefiero mas el manejo de registros.

CCS por otra parte provee la facilidad y lograr ciertos objetivos realmente rapidos. Pero eso trae ademas un proceso por detras que a mi personalmente no me gusta y que lo vas a ir descubriendo poco a poco. Tiene muchas funciones que son propias del compilador y no del lenguaje en si, asi como tambien directivas. Para saber cuales son todas estas deberias de buscar el PDF en google, "CCS manual" y te aparece.  ¿CCS es malo? En mi opinion no, es genial para hacer cosas rapidamente e incluso para productos, pero por cuestion de gustos me gusta mas la seguridad que tengo con el otro.

Respecto a las dudas que tengas podes escribirlas aca y te seran respondidas. Incluso las mas basicas, mucha gente aca tiene mas experiencia que yo en CCS y te seran de ayuda, pero en cosas basicas de CCS y de C puedo ser de ayuda.
« Última modificación: 07 de Noviembre de 2016, 19:20:37 por KILLERJC »

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re:Aprender C para PIC (busco)
« Respuesta #2 en: 07 de Noviembre de 2016, 19:42:28 »
Genial, pues entonces encaro el XC8. Me pongo a ello y si me encuentro con problemas os molesto XD
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Aprender C para PIC (busco)
« Respuesta #3 en: 07 de Noviembre de 2016, 20:13:58 »
Si tenes la oportunidad, proba ambos (aunque eso signifique tener que instalar 2 programas ). Y decidite por el que mas te guste.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Aprender C para PIC (busco)
« Respuesta #4 en: 07 de Noviembre de 2016, 21:16:43 »

Desconectado retovil

  • PIC10
  • *
  • Mensajes: 43
Re:Aprender C para PIC (busco)
« Respuesta #5 en: 07 de Noviembre de 2016, 21:42:32 »
Y  en  castellano no hay nada ?     :-/

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re:Aprender C para PIC (busco)
« Respuesta #7 en: 08 de Noviembre de 2016, 20:49:41 »
Lo he estado ojeando pero parece muy "tecnico". Busco uno para tontos :)
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re:Aprender C para PIC (busco)
« Respuesta #8 en: 22 de Noviembre de 2016, 20:18:07 »
Bueno, he estado revoloteando por la red. Hay toneladas de informacion, y he hecho algunos pinitos. Pinitos enanos pero pinitos al fin.
PEEERO... me he tropezado con un grave problema:
AL no conocer a fondo este nuevo lenguaje, al estar obligado a usar un micro barato como la linea 12f de 1k de memoria de programa, y no poder por lo tanto optimizarlo me quedo con un uso del 100% de la memoria de programa en nada y mucho antes de lo esperado.
Esto nunca me pasó en asembler! Escribia hojas y hojas de código y me sobraba espacio para grabarle un DVD !!! jajajaja  :mrgreen:
En fin, que me estoy pensando volverme al asm.. Tener algo de conocimiento de C es bueno, para calculos y ecuaciones, no se si algun dia seré capaz de mezclar ambos lenguajes en caso de necesitarlo.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Aprender C para PIC (busco)
« Respuesta #9 en: 22 de Noviembre de 2016, 20:23:21 »
Citar
no se si algun dia seré capaz de mezclar ambos lenguajes en caso de necesitarlo.

Solamente en casos muy extremos veria mezclado ASM con C, o por ejemplo en RTOS ( aunque estos te suelen dar el archivo para el micro ). Y si fueras por estos necesitarias un poco mas de RAM y Flash, asi que para proyectos pequeños y medianos no creo que los mezcles nunca. Simplemente todo C.

Deberias buscar algun otro un poco mas grande.

Citar
Escribia hojas y hojas de código y me sobraba espacio para grabarle un DVD !!! jajajaja

Si, nada se compara en terminos de velocidad y en espacio al no estar optimizado, pero esas hojas y hojas se resumen en lineas de C. Ademas C usa la RAM como stack (un espacio de intercambio de variables entre funciones ) lo cual lleva un poco mas de RAM y un poco mas de flash para manejarla.


 

anything