Puntual atom STM32F103ZET6 notas de estudio - nueva plantilla de proyecto de función de biblioteca

Enlace de descarga gratuita del paquete de firmware oficial de la serie STM32F10x


Crear un nuevo proyecto STM32

Paso 1: Crear un archivo de proyecto

1. Cree una nueva temperatura de directorio de proyecto

2. Cree cuatro carpetas nuevas en el directorio temporal del proyecto

(1) USUARIO : almacene el archivo de proyecto (plantilla), el archivo de función principal main.c y system_stm32f10x.c, etc.

(2) NÚCLEO : almacenar archivos básicos y archivos de inicio.

(3) OBJ : almacena los archivos del proceso de compilación y los archivos hexadecimales.

(4) STM32F103 : almacene los archivos de código fuente de la función de biblioteca proporcionados oficialmente por ST.

Vista previa del directorio del proyecto:

 3. Asigne un nombre a la nueva plantilla de proyecto y guárdela en la carpeta USUARIO, y cree el proyecto de acuerdo con los pasos de la imagen.

 

 

 Paso 2: Importe los archivos en la biblioteca de firmware stm32

1. Abra el archivo de la biblioteca de firmware STM32F10x (el enlace de descarga gratuito se encuentra en la parte superior del artículo)

(1) Vaya a: STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver, copie las carpetas src e inc debajo del directorio a la carpeta STM32F103 que acabamos de crear. src almacena el archivo .c de la biblioteca de firmware e inc almacena el archivo .h correspondiente.
detalles de la siguiente manera:
 

(2) Navegue al directorio: STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport, copie el archivo core_cm3.c y el archivo core_cm3.h a CORE. Luego busque el directorio STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\a rm y copie el archivo startup_stm32f10x_hd.s dentro de CORE. Aquí hemos explicado que los chips con diferentes capacidades usan diferentes archivos de inicio. Nuestro chip STM32F103ZET6 es un chip de gran capacidad, así que elija este archivo de inicio.

detalles de la siguiente manera:

(3) Navegue al directorio: STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x, copie los tres archivos dentro de stm32f10x.h, system_stm32f10x.c , system_stm32f10x.h a nuestro directorio USER. Luego copie los cuatro archivos main.c, stm32f10x_conf.h , stm32f10x_it.c , stm32f10x_it.h bajo STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template al directorio USER .

El efecto es el siguiente: (si hay carpetas LIistings y Objects, no hay efecto)

 Paso 3: Agrega todos los archivos anteriores al proyecto

1. Agregue tres carpetas USER, CORE, FYLIB debajo del proyecto

(1) Haga clic con el botón derecho en Target1, seleccione Administrar componentes, cambie Target 1 a la plantilla de acuerdo con la imagen, elimine Source Group 1 y cree tres carpetas USER, CORE y FWLIB, y finalmente haga clic en OK:

(2) Agregue los archivos correspondientes a las carpetas USER, CORE, FWLIB.
        1) Haga clic con el botón derecho en la plantilla, seleccione Administrar componentes, seleccione FWLIB, haga clic en Agregar archivos, busque la carpeta existente STM32F103\src y agregue todos los archivos a FWLIB (aquí todos los archivos se agregan a FWLIB para su uso posterior).
Vista previa del efecto:

  

         2) Use el mismo método para agregar los archivos correspondientes a las carpetas USER y CORE respectivamente. Aquí, los archivos que deben agregarse en nuestro CORE son core_cm3.c, startup_stm32f10x_hd.s ( tenga en cuenta que el tipo de archivo es .c cuando se agrega de forma predeterminada, es decir, al agregar el archivo de inicio startup_stm32f10x_hd.s , debe seleccionar el tipo de archivo como Todos los archivos para Puede ver este archivo ) , los archivos que deben agregarse en el directorio USUARIO son main.c, stm32f10x_it.c, system_stm32f10x.c y, finalmente, haga clic en Aceptar.

El efecto es el siguiente: 

2. Establezca la ubicación donde se genera el archivo hexadecimal, la ruta del archivo de encabezado y la definición de macro

(1) Establezca la ubicación de generación hexadecimal: haga clic en la varita mágica, seleccione Salida, haga clic en Seleccionar carpeta para objetos y ubíquela en la carpeta OBJ (si no configura Salida, los archivos generados por la compilación MDK5 se almacenarán en los Listados y carpetas Objetos).

(2) Establezca la ruta del archivo de encabezado y las variables globales de definición de macro: haga clic en la varita mágica, seleccione c/c++, haga clic en el botón a la derecha de Incluir ruta, aparecerá una ventana para configurar la ruta y luego agregaremos las tres directorios encima de la imagen. Recuerde, keil solo buscará en el directorio de primer nivel, por lo que si hay subdirectorios en su directorio, recuerde que la ruta debe ubicar el subdirectorio de último nivel. Luego haga clic en Aceptar, regrese a la interfaz c/c++ y complete "STM32F10X_HD, USE_STDPERIPH_DRIVER" en el cuadro de entrada Definir. Permítanme explicar aquí, si está utilizando una capacidad media, modifique STM32F10X_HD a STM32F10X_MD y modifique la capacidad pequeña a STM32F10X_LD. Luego haga clic en Aceptar.

detalles de la siguiente manera:

 

Paso 4: Modifique la función principal y genere un archivo hexadecimal

1. Cambie el código en main.c bajo USUARIO al siguiente código (el código provisto para el átomo puntual):

#include "stm32f10x.h"

void Delay(u32 count)
{
   u32 i=0;
   for(;i<count;i++);
}

int main(void)
{	
  GPIO_InitTypeDef  GPIO_InitStructure;
	 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|
  RCC_APB2Periph_GPIOE, ENABLE);	    //使用PE,PB端口时钟
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;			    //LED0-->PB.5端口设置
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 	 //推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 //IO口速度为50Mhz
  GPIO_Init(GPIOB, &GPIO_InitStructure);			     //初始化GPIOB.5
  GPIO_SetBits(GPIOB,GPIO_Pin_5);					//PB.5输出高
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	            //LED1-->PE.5推挽输出
  GPIO_Init(GPIOE, &GPIO_InitStructure);	  	       //初始化GPIO
  GPIO_SetBits(GPIOE,GPIO_Pin_5); 			 //PE.5输出高	  
  while(1)
	{
	  GPIO_ResetBits(GPIOB,GPIO_Pin_5);
	  GPIO_SetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
		GPIO_SetBits(GPIOB,GPIO_Pin_5);
		GPIO_ResetBits(GPIOE,GPIO_Pin_5);
		Delay(3000000);
	}
}

2. Generar archivo hexadecimal

(1) Haga clic en la varita mágica, ingrese al menú de configuración y seleccione Salida. Luego marque las siguientes tres opciones. Entre ellos, Create HEX file es para compilar y generar un archivo hexadecimal , y Browser Information es para ver definiciones de variables y funciones.

(2) Después de configurar los pasos anteriores, descargue el archivo hexadecimal al microcontrolador con el software flymcu, y podrá observar que las dos luces LED parpadean alternativamente.

Paso 5: Agregar archivo de SISTEMA

archivo SISTEMA

1. De acuerdo con el paso 3, cree una nueva carpeta SYSTEM en el proyecto y agregue delay.c, sys.c, usart.c en el archivo SYSTEM proporcionado a la carpeta del proyecto SYSTEM.

El efecto es el siguiente:

 2. Agregue los subdirectorios delay, sys y usart en la carpeta SYSTEM a Path de acuerdo con el método de configuración de archivos de encabezado en el paso 3.2.

detalles de la siguiente manera:

 En este punto, la nueva plantilla de proyecto se ha configurado y, finalmente, recuerde guardar todos los archivos, de lo contrario, será una pérdida de trabajo.

Supongo que te gusta

Origin blog.csdn.net/qq_63306482/article/details/126180744
Recomendado
Clasificación