Basado en Keil y STM32, escriba el programa de lámpara de agua en C
En términos generales, la programación en un microcontrolador requiere lenguaje ensamblador o C, y muy pocos usan C para el desarrollo. Entonces, ¿se puede usar C para desarrollar un microcontrolador? La respuesta es definitivamente sí. Hablemos de algunos contenidos sobre cómo escribir un programa de lámpara de agua corriente en C basado en Keil y STM32.
1. ¿Por qué rara vez se utiliza C para desarrollar microcontroladores?
Me pregunto cuánto entienden todos la orientación a procesos y la orientación a objetos.
El lenguaje C es un lenguaje orientado a procesos, y C es un lenguaje de programación orientado a objetos. Según este artículo, la programación orientada a procesos tiene un tamaño de código más pequeño y una mayor eficiencia operativa que la programación orientada a objetos.
Por lo tanto, el lenguaje C tiene un tamaño de código más pequeño y una velocidad de ejecución más rápida que C.
Por supuesto, esto es C relativo a C. De hecho, el ensamblador tiene un tamaño de código más pequeño y una velocidad de ejecución más rápida que C. Puede consultar el artículo: ¿Cuál es la diferencia entre escribir programas de lámparas de agua corriente en lenguaje ensamblador y C?
Debido a que los recursos RAM y Flash del microcontrolador son más pequeños y la velocidad de ejecución es relativamente baja, encontrará que pocas personas usan C para desarrollar proyectos en el microcontrolador.
De hecho, con el aumento de los recursos de almacenamiento y la velocidad de funcionamiento de los microcontroladores, algunos ingenieros están empezando a utilizar C para desarrollar proyectos de microcontroladores.
2. Trabajo de preparación
Es relativamente común desarrollar STM32 en lenguaje C. Este artículo no describirá los pasos como instalar el entorno de desarrollo y crear el proyecto.
3. Instrucciones de uso
En el entorno Keil MDK, se utiliza Arm Compiler. Muchos tutoriales en línea usan V6 para compilar. De hecho, se admiten las versiones V5 y V6. Lenguaje de programación C.
Agregue código fuente C (por ejemplo: main.cpp) al proyecto
Al usar V5 y V6, existen algunas diferencias en las opciones de configuración del proyecto:
4. Definición de clase LED
En este artículo, se supone que todos dominan el conocimiento del desarrollo de lámparas de agua STM32 en lenguaje C y el contenido del código C se describe directamente.
Este artículo trata sobre un ejemplo muy básico de "luz LED", como la creación de un archivo de código fuente main.cpp.
Primero, defina una clase de LED:
clase LED_Class{
Luego defina miembros privados (por supuesto, también se pueden usar públicos):
class LED_Class{
Las funciones utilizadas nuevamente son: inicializar GPIO, encender y apagar LED, etc.
class LED_Class{
¿No es este código muy simple? Incluso si no sabes C, siempre que comprendas el lenguaje C, creo que podrás entenderlo.
5. Implementación de lámpara de agua (función principal)
La idea de usar C es similar al lenguaje C, inicializar primero y luego implementar:
int main(void)
Existe otro tipo de inicialización:
int main(void)
La cantidad de código compilado es relativamente mayor: p>
Luego, si tiene una placa de desarrollo, puede descargarla directamente para ejecutar el fenómeno de parpadeo del LED.