Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Buenas a todos. Hace ya un tiempo que no posteo por aquí, (tampoco es que haya contribuido demasiado, la verdad) debido en parte a que soy más bien un aficionado a este mundillo, y últimamente entre curro y otras cosas no he tenido tiempo de meterme en profundidad en algún proyecto.
Bueno, al tema. Por lo que suelo ver en el foro, casi todos utilizais los microcontroladores PIC para realizar vuestros trabajos. Sin embargo, veo algunos inconvenientes en esta plataforma, al menos para los iniciados:
- Tienes que aprender un lenguaje ensamblador bastante particular, al menos para mi que vengo de la arquitectura x86. Eso es algo que echa un poco para atrás a la hora de empezar, según mi punto de vista.
- Si quieres programar en un lenguaje de más alto nivel, tienes compiladores en C, pero ninguno libre o gratuito. Hay un compilador (sdcc, creo ) libre pero no funciona para todos los modelos de PIC. Además, el código C que escribes difiere según el compilador que utilices. No puedes compilar el código C de un compilador en otro.
Por contra, los micros Atmel, según tengo entendido, tienen un compilador C gratuito y totalmente libre, basado en gcc. Esto para mí es una gran ventaja, ya que ayuda mucho a la comunidad de programadores a compartir y desarrollar código, como se puede comprobar en las páginas de aficionados que utilizan este microcontrolador.
No me he metido a analizar las particularidades internas de un pic y un atmel, cual arquitectura es mejor o peor. Pero creo que para alguien que quiera iniciarse sin complicaciones en el mundo de la robótica, quizá seria mejor empezar con micros Atmel.
Pues eso, ya está lanzado el flame-war 😉 . Espero vuestras opiniones de expertos, y ya digo que estoy opinando como un mero iniciado que no tiene mucha experiencia en este mundillo. Gracias por vuestra colaboración.
sobre el tema del ensamblador, pues tambien tienes que aprenderte el codigo de instrucciones del atmel para poder usarlo, asi que en ese sentido no hay mucha diferencia, sobre los compiladores te doy toda la razon, aunque microchip proporciona un compilador gratuito para su serie 18 por lo que en ese sentido la cosa ha mejorado.
Los aspectos que creo que influyen en su exito por estas latitudes es que hay mucha informacion disponible, que son faciles de encontrar, de comprar y sobre todo de samplear, si atmel (o microchip) tuvieran otra politica de samples supongo que la cosa cambiaria
No todo el mundo usa PIC, aunque sí mucha gente.
Yo vengo del MCS51 de intel. Es casi un estándar, hay muchos fabricantes que tienen 8051 mejorados, Phillips, Dallas, Atmel etc...
Sin embargo es más fácil encontrar PIC que algunos clones del 8051 o que micros Atmel, al menos en las tiendas donde compro habitualmente.
En cuanto al soft para PIC es similar al de otros fabricantes, una jungla. Para 8051 tienes Keil, American Automation, Intel etc, para Atmel tienes CCS etc, cada uno con sus manías...
He usado Z80, 6809, 6502, Hitachi H8-500 (un rollo cablearles la memoria y los periféricos, grabar las EPROM..), tambien 8051, PIC, Atmel (con los periféricos y la memoria integrados se trabaja mejor), pero a la hora de programar me parecen todos ellos y sus compiladores de C iguales, emseguida te haces a sus peculiaridades.
No creo que haya ventajas o inconvenientes reales que hagan mejores o peores unos micros u otros a la hora de programarlos, solo son manías de cada uno... En el hardware sí que hay mucha diferencia.
PD. El SDCC está bastante desarrollado, para Linux y WINxx, y soporta PIC 16F y 18F, además de otros micros:
http://sdcc.sourceforge.net/
Yo uso TINI (basado en 8051) y PIC, los PICs son baratos y fáciles de samplear, los TINI llevan un sistema operativo integrado (subset de UNIX) y tienen una máquina virtual Java por lo que se pueden programar en dicho lenguaje (es una ventaja inmensa), sin embargo son caros y bastante particulares (vienen en un stick de 72 contactos).
A la hora de programar los PIC sólo te tienes que aprender 36 instrucciones ASM y tiene un compilador "gratuito" para C (el C18), el TINI también se puede programar en C o ASM pero el compilador que uso (Keil) no es precisamente gratuito (suerte que lo paga la empresa).
S2
Ranganok Schahzaman
Mira, para salir de los tipicos yo uso los de la casa Renesas, muy sencillos de programar, muy versatiles, con muy buen precio, lo unico que no me hace mucha gracia es que son del tipo LQFP (sobre placa) y para soldarlos a mano es molesto.