¿Cómo aprendo cómo programar en un chip microcontrolador?

Compre una placa de desarrollo y un buen libro. Le recomiendo que comience con un microcontrolador de 8 bits antes de pasar a 32 bits. Obtenga un PIC moderno o un AVR y practique la programación desde allí.

Personalmente, recomiendo el PIC16F1717 y el compilador XC8. Aquí hay un código que escribí para comenzar, hay un código para hacer casi todo lo que necesitarías hacer con un microcontrolador.

ArmstrongSubero / PIC16-Proyectos

Comience con cosas simples, ¿cómo hago una luz LED? ¿Cómo enciendo un motor? ¿Qué es ADC y cómo lo uso?

Siga leyendo sobre la tecnología de microcontroladores y lea la hoja de datos y domine su mundo de 8 bits. Elige un chip y aprende de adentro hacia afuera.

Cuando termines, sube a un micro de 32 bits. Recomiendo la serie de microcontroladores SAMD, ya que tiene la mejor cadena de herramientas y es tan fácil de hacer clic como ejecutar con ARM listo para usar.

El PIC24 es, con mucho, el mejor micro que he encontrado para la creación rápida de prototipos y, al mismo tiempo, le brinda control y no se abstrae demasiado del hardware que algunos marcos tienden a hacer. Si conoce C, entonces con MCC y MAL de Microchip, el código básicamente se escribe solo. Entonces puedes considerar esto.

Sin embargo, si tiene un presupuesto limitado. Aprende el MSP430. El launchpad con los chips DIP de la serie MSP430G es el mejor a bajo costo y viene con un código decente y el IDE y la cadena de herramientas son completamente gratuitos. Luego sube al STM32 ya que las fichas son baratas, aunque la curva de aprendizaje es un poco más alta.

No empieces con Arduino. No A menos que desee retrasar su progreso y limitar lo que puede hacer. Después de que aprenda un micro decente, el Arduino puede ser útil para verificar una prueba de concepto, el problema es que se topará con límites con lo que puede hacer y los “bocetos” pueden agrandarse muy pronto. Y también limita sus opciones en términos de periféricos o alguna característica asesina.

Tomemos, por ejemplo, PIC y nuevos AVR con algunos periféricos independientes independientes del núcleo, STM32H7 que se ejecuta a 400 MHz o incluso el increíble LEA de TI. No puede acceder a sangrado en la plataforma Arduino. E incluso si se porta, siempre estará detrás.

Esto depende de:

  • Que sabes
  • ¿Por qué quieres trabajar con MCU?

Asumiré que conoce al menos un lenguaje de programación y, por lo tanto, la programación en general.

Primero, si desea algo específico, en una copia y el ahorro de energía no es un problema, entonces es mejor comprar raspberry pi y hacer todo lo que está allí, que preocuparse por algo que nunca será necesario en ningún otro lado.

Si el poder es limitado, necesita más de una copia o más de una cosa, pero no desea aprender más de lo necesario, Arduino es para usted. Aprenda algunas sintaxis de C ++ (no se necesitan bibliotecas estándar, la asignación de memoria y las excepciones son peligrosas). Aprende las bibliotecas Arduino. Escribe un código.

Si desea comprender cómo funciona realmente MCU, le recomiendo comenzar con STM32F4DISCOVERY como Devboard y CooCox o System Workbench para STM32 como IDE. Simplemente no use bibliotecas STM como Cube. Lea los scripts del enlazador, lea el código de inicialización (y aprenda el ensamblaje ARM). Lea el manual de referencia (solo para periféricos necesarios, como GPIO y RCC). Use solo los encabezados de los registros para escribir un código. Este es el nivel más bajo necesario para comprender realmente MCU. Además, una vez que lo entiendas, nunca vayas a menos que realmente lo necesites.

¡Deja de hacer preguntas!

Solo compra un Arduino.

Escriba su primer código de microcontrolador ahora.

Vea cómo programar un microcontrolador aquí: