Antes de dar el programa completo, es para la comodidad de los principiantes. Después de poner todas las funciones utilizadas por la función principal en la función principal, agregue la declaración de la función antes de la función principal. Esto hará que el archivo main.c no tenga jerarquía. Todas las funciones diluyen el código de la función en main.c.
La organización de archivos en un proyecto general es así: el archivo main.c solo contiene código que refleja la funcionalidad.
El archivo de encabezado main.c contiene solo dos
#include " stm32f0xx.h " #include " hw_config.h "
Las siguientes son macros definidas por el usuario. Estas macros también están estrechamente relacionadas con la función. Para decirlo sin rodeos, es utilizada por la función principal. Si no está directamente relacionada con la función, se puede definir en hw_config.h, como la definición de pines GPIO.
#define OE GPIO_Pin_5
La siguiente es la definición de la variable global, que también se define aquí en la función principal.
La siguiente es la función principal, su estructura es
void main (void) {//definiendo las variables locales utilizadas por la función principal //Inicializar variables globales y variables locales //hardware de inicialización, como RCC, NVIC, GPIO, TIM, USART, Systick, IWWDG, etc. //La siguiente es la implementación del código de función, generalmente while (1) structure. While (1) { }}
El archivo main.c contiene estos códigos. Las funciones llamadas por la función principal, como RCC_Configuration, NVIC_Configuration, GPIO_Configuration, SysTick_Configuration, USART_Configuration, etc., están declaradas en hw_config.h, en hw_configur.h Definido en .c.
Nota: dado que todas las funciones llamadas por la función principal están definidas en hw_config.c, algunas variables están obligadas a definirse en hw_config.c, y estas variables también se usan en el archivo main.c. Estas variables deben declararse externamente en hw_config.h. Entonces, incluso si stm32f0xx_it.c usa estas variables definidas en hw_config.c, solo necesita incluir el archivo de encabezado hw_config.h.
Tome una variable de conteo usart1_invalidframe_time como ejemplo, definido en hw_config.c, declarado con extern en hw_config.h, borrado en main.c (usart1 recibe datos para borrar la variable), en stm32f0xx_it La función .s SysTick_Handler se agrega cada 1 ms.
De repente se encontró que el sitio web no se puede abrir, la base de datos muestra que el enlace no
Muchos medios y expertos creen que Linux cree que Linux es más seguro que Windows
Proceso de instalación del disco redhat-5.4 U Preparación: FbinstTool.exe-software redhat-5.
1.Linux OS versión: RedHat AS 52. Configuración del entorno de red: Host (Linux): IP: 192.168.1.1
El ejemplo explica la diferencia entre continuar break break
Décimo aniversario de Red Hat Enterprise Linux
Compartir experiencia de Linux: comando cp
Sistema operativo Linux para crear comandos de archivo
CentOS minimiza la instalación y luego instala el soporte de escritorio y chino
Habilidades de instalación de U disk linux
Cómo Linux reduce la partición raíz de lvm
Discusión de la estrategia de copia de seguridad del sistema Linux
Introducción de comandos de Linux: destacados de la aplicación de comandos VI
Actualización acumulativa de Windows 10 KB3172985 Revisión Causas y soluciones de falla frecuentes
¿Cómo desactiva el sistema Win8 la función de pantalla de bloqueo automático?
¿Qué debo hacer si el icono del método de entrada de la barra de tareas de Windows 8 desaparece?
Blue Update para Windows Server se lanzará en TechED 2013
método de instalación de Ubuntu de Xtreme
Cómo escanear el código QR WeChat escanear código QR tutorial