¿Cómo empezar a aprender STM32? Vale la pena

Una vez que tenga una base sólida del procesador ARM Cortex, puede elegir cualquier microcontrolador, y STM32 es definitivamente un buen lugar para comenzar.

Comencé con los microcontroladores Atmel de 32 bits primero debido a la familiaridad con el IDE Atmel Studio de proyectos anteriores. Entonces, me aventuré en la serie STM32. Lo que me gusta de STM32 es la velocidad con la que puede comenzar a trabajar con proyectos. Tiene una gran herramienta gráfica llamada STCube para controladores HAL que genera el código de inicio para su proyecto.

Pero estas herramientas de conveniencia que ofrecen los proveedores de silicio también tienen una desventaja. El programador debe hacer un esfuerzo para comprender cómo funciona el procesador y cómo interactúa con los periféricos. Depende de usted hacer ese esfuerzo, y tener este entendimiento lo ayudará mucho en la depuración.

Inicialmente, enfrenté la misma curva de aprendizaje y decidí hacer un curso al respecto, para poder compartir el conocimiento que he adquirido a lo largo de los años con aquellos que desean comprender realmente los conceptos básicos del procesador ARM Cortex-M. Espero que esto ayude a alguno de ustedes.

Fundamentos de los procesadores ARM Cortex-M con STM32F3x Nucleo

Después de sentirme cómodo con el núcleo del procesador, llegó el momento de explorar los periféricos. Los periféricos son bloques en un microcontrolador que ayudan al procesador a comunicarse con el mundo exterior. Uno de los periféricos más utilizados es el periférico I2C. El procesador lo utiliza para hablar con miles de dispositivos externos, incluidos sensores, memoria, ADC externos y otros microcontroladores. La mejor manera de aprender es implementar el protocolo I2C usted mismo. Elija un microcontrolador de su elección y un sensor del mercado que se comunique en I2C. Ahora, con solo dos cables puede establecer la conexión de hardware entre ellos y hacer que se comuniquen entre sí. Si está buscando un enfoque estructurado, aquí hay un curso que le puede resultar útil.

Clase magistral de protocolo I2C – Sistemas integrados STM32

¡Espero que esto ayude!

Supongo que usted tiene algunos conocimientos básicos de microprocesador y C básica (no es necesario saber nada más que if-else y mientras & para bucles y algunas palabras clave, sintaxis, etc.). Diga 8086 de ingeniería. Si es así, entonces podría atravesar rápido sin hacer preguntas. El problema con muchos tutoriales es que asumen que inicialmente tienen algún archivo que nos confunde. Queremos que algo se construya desde cero para poder realizar ingeniería inversa al estudiarlo. Existe un buen enlace con muchas series de tutoriales. Pero está en ruso. Pero no te preocupes. Basta con mirar los tutoriales y copiar exactamente. Es desde cero.
1) Obtener el tablero de descubrimiento stm32F407
2) Instale el keil mdk4. No instale mdk5.
3) Aquí está el enlace. Cuando termine estos dos primeros tutoriales, ya habrá llegado tan lejos como yo. Los enlaces de descarga, etc. se mostrarán en el video.

Gracias por A2A.

Estoy de acuerdo con la respuesta anterior de que no debe centrarse en ningún microcontrolador.

Sin embargo, supongo que se refería a una placa de desarrollo que utiliza un microcontrolador STM32 (como el de las placas de desarrollo STM32). Si es así, te recomendaré que sigas adelante y juegues con el tablero. El tablero probablemente incluye un CD con muchos buenos ejemplos que puede usar como punto de partida.

¡Disfruta el viaje de aprendizaje!

STMicro tiene una selección bastante grande de ARM Cortex-M series en su línea STM32.

Los núcleos M0 / M0 +, M3, M4 y M7 están cargados con periféricos y son bastante buenos. Por lo tanto, si pretende usar cualquier microcontrolador, STM32 es una opción decente. También tienen (al menos) un compromiso de 10 años para fabricar y soportar estos núcleos, por lo que estarán disponibles por un tiempo.

Si tiene que aprender a programar un microcontrolador, creo que lo está haciendo mal. Debe poder leer la documentación y los ejemplos de referencia / notas de aplicación y poder programar cualquier microcontrolador, siempre que esté utilizando un compilador de C. Y si, por alguna razón, está utilizando ensamblaje, lo está haciendo muy mal, a menos que tenga una muy buena razón. Una vez que haya programado un microcontrolador, debería olvidar prácticamente lo que ha “aprendido” desde un punto de vista de uso. Es información inútil para ti ahora. Si necesita trabajar en el mismo chip para otro proyecto, siempre puede volver a aprenderlo.

1.Descargar manuales de referencia del sitio STMicroelectronics
2. Para comprender los conceptos básicos, descargue un libro escrito por Geoffrey Brown titulado “Descubrir el microcontrolador STM32”
3. Descargue Keil ARM IDE. También puede ir a otros IDE
4. Descargue los paquetes necesarios para la placa que ha comprado. Por ejemplo, para paquetes de descubrimiento de la línea de valor, etc.
5. Descargue una plantilla para el proyecto que tenga los archivos y bibliotecas esenciales necesarios para el proyecto
6. Vea los tutoriales en YouTube para conocer el flujo básico de los microcontroladores Keil IDE y STM32.
7.Explorar los archivos que vienen en los paquetes para un conocimiento más profundo
8. Comience con algo simple como los LED parpadeantes y muévase hacia arriba a través de GPIO, USART, temporizadores, interrupciones, SPI, I2C, ADC, DAC, etc.

Elija un tablero STM32F103CT8 de eBay:

Nuevo módulo de la placa de desarrollo del sistema mínimo STM32F103C8T6 ARM STM32 para Arduino | eBay

Instala esto en la carpeta de hardware dentro de Arduino:

rogerclarkmelbourne / Arduino_STM32

Ahora programelo usando Arduino IDE.

Comencé a aprender este microcontrolador entrenado por mi compañero de trabajo que es experto en microcontroladores. Me proporcionó algunos componentes para hacer algunos dispositivos básicos y algunos proyectos de ejemplo para trabajar. Esto se puede aplicar a cualquier microcontrolador. Creé, por ejemplo, un sensor de humedad del suelo que daba alerta cuando la planta necesitaba riego. Un proyecto simple, nada complejo pero satisfactorio. En el libro Head First C tienes un proyecto muy similar usando Arduino.

Entonces, en general, obtenga algunos sensores que se pueden conectar al microcontrolador e intente jugar con algo. Tener un compañero experto es lo que me ayudó, nada puede reemplazar a un buen maestro.