Claro, aprenderás cosas, pero no creo que sea la mejor manera de comenzar si tienes una opción.
Arduino es solo un microcontrolador y un entorno de desarrollo. Es un micro bastante débil, no tiene nada de especial, y carece del tipo de cosas que uno ve en la mayoría de los proyectos integrados de microcontroladores: periféricos integrados complejos, pilas de red, etc. Ahora, puede comenzar sin estas cosas, pero hay un costo de cambio una vez que hayas puesto en marcha Arduino, entonces tenderás a usar el tipo de soluciones pirateadas que la gente usa con Arduino en lugar de ver las implementaciones a bordo que son más comunes en las MCU más sofisticadas.
Pero esto es menor. El mayor problema es el entorno de desarrollo. La ventaja de bjg es que se configura de manera muy rápida y fácil. Pero también le faltan muchas cosas importantes, como un depurador, y hace cosas extrañas como ocultarle el bucle principal.
- ¿Qué debería preferir para mi primer Robot, AVR o 8051?
- Soy un programador 'C' con más de 15 años de experiencia en programación en Kernel / Embedded Systems. Sin embargo, encuentro la asamblea intimidante. ¿Eso es normal?
- ¿Qué sitio es el mejor para practicar preguntas estándar de programación en C que podrían llevarme a involucrarme en el desarrollo de sistemas embebidos?
- Cómo probar sin una especificación
- ¿Cuáles son los mejores institutos de capacitación para IoT y sistemas integrados en India?
También lo alienta a usar C ++ de manera irresponsable. La mayoría de la codificación incrustada se realiza en C recta, y algunas personas usan partes, pero no todas, de C ++. Esto se debe a que un montón de construcciones de C ++ requieren una memoria impredecible o ineficiente, o producen código que es difícil de leer en un depurador. El uso de muchas características de C ++ es realmente un tema avanzado en incrustado, controvertido y con dificultades. Pero si nos fijamos en las bibliotecas Arduino, se pasean alegremente por el territorio de C ++, deambulando por minefiekds sin pensarlo dos veces. Es sobre todo un código de ejemplo bastante pobre para aprender.
Mi sugerencia sería comenzar con un kit de desarrollo de uno de los principales proveedores de MCU. No son más caros que Arduino, y generalmente vienen con un entorno de desarrollo. La mayoría de ellos necesitan un poco más de trabajo para comenzar que el Arduino IDE, pero eso es solo un pequeño golpe al principio. Puede haber menos proyectos de ejemplo, pero son de mucha mayor calidad, en cuanto a código. Mi favorito personal en estos días es el kit pionero Cyoress PSoC 4 BLE. Su entorno de desarrollo es un comienzo casi tan suave como Arduino, y tienen toneladas de ejemplos, incluida una muy buena serie de video tutoriales. Y su IDE hace una gran parte de la configuración del registro jugando para usted a través de una buena GUI, lo que hace que el inicio sea mucho más rápido y puede pasar menos tiempo estudiando los manuales de referencia tratando de descubrir cada registro de las capacidades muy extensas del chip. Y es un chip bastante poderoso, no se quedará sin capacidades e incurrirá en el costo de abrir una nueva cadena de herramientas hasta que sea un codificador integrado muy avanzado.
También le iría bien con chips de TI (p. Ej., CC2640, CC3200 y MSP432), nórdicos o STM. Sin embargo, en mi experiencia, tienen una curva de aprendizaje un poco más irregular que Cypress.