00.创建STM32F103工程模板

创建STM32F103工程模板

创建一个目录作为STM32F103的工程目录,目录名可命名为STM32F103C8T6_Template。

STM32F103C8T6_Template下新建目录结构如下。

APP、Config、Drivers、Hardware、Middlewares、Projects、Users。

下面是对各个目录的说明:

  • App:

    存放用户应用程序代码,

    • 子目录:

      • include:

        存放App.h等接口文件,供main函数调用

  • Config:

    存放各种配置文件,包含bsp_config.h或app_config.h等

    bsp_config.h:定义各个片上外设及硬件的端口及引脚。模板工程可留空。

    app_config.h:定义app的各种参数,及初始化配置。模板工程可留空。

  • Drivers:

    存放STM32F103的标准库或hal库,本模板使用标准库搭建

    • 子目录

      • STM32F10x_StdPeriph_Driver

        STM32F103的标准库

      • CMSIS

        微控制器软件接口标准

      • BSP

        基于STM32F103的片上外设板级支持包,提供统一的接口,以供Hardware或上层应用调用。

        • 子目录

          • include:

            存放bsp.h及bsp_conf.h等bsp接口文件

            bsp.h:引用stdbool.h等标准库及stm32f10x.h及bsp_config.h

            bsp_conf.h:引用自己定义的bsp_usart.h、bsp_gpio.h、bsp_dma.h等接口,供上层模块调用,模板工程可留空。

      • SYSTEM

        存放delay、sys、usart等模块,用于自定义时钟树、实现阻塞延时等。

        sys.h:引用bsp.h接口

  • Hardware:

    存放各种硬件模块,包含led、rs485、ds18b20、key、oled、lcd等

    • 子目录

      • include

        存放hardware.h及hardware_conf.h等接口文件

        hardware.h:引用bsp_conf.h、bsp_config.h、sys.h、、delay.h等SYSTEM接口

        hardware_conf.h:引用led、rs485、ds18b20、key、oled、lcd等接口,供上层模块调用。

  • Middlewares:

    存放各种中间件,包含freertos,lvgl,fatfs等

  • Projects:

    存放MDK-ARM等IDE的工程文件。

  • Users:

    存放main.c、stm32f10x_conf.h、stm32f10x_it等文件

建立好的路径如下图所示:
在这里插入图片描述

使用keil等ide建立工程,并配置好分组,如下所示

在这里插入图片描述

包含路径如下所示:

在这里插入图片描述

bsp.h代码如下:

/** ************************** Copyright (c) **********************************
 *
 *
 *
 * ------------------------------File Info-------------------------------------
 * @file:               bsp.h
 * @author:             ${author.body}
 * @date:               2025-06-25
 * @version:            V0.0
 * @brief:
 *
 * ----------------------------------------------------------------------------
 * @modified:
 * @date:               2025-06-25
 * @version:            V0.0
 * @description:
 * @note:
 * ----------------------------------------------------------------------------
 * @copyright:
 * ************************************************************************* */
#ifndef __BSP_H
#define __BSP_H
#ifdef __cplusplus
extern "C" {
   
   
#endif





/** ***************************************************************************
 *  @brief:包含头文件
 * ************************************************************************* */
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "stm32f10x.h"

#include "bsp_config.h"

/** ***************************************************************************
 *  @brief:外部宏定义
 * ************************************************************************* */




/** ***************************************************************************
 *  @brief:外部数据结构
 * ************************************************************************* */

#pragma pack(1)                            //1字节对齐
#pragma anon_unions                        //开启匿名结构、联合



#pragma no_anon_unions                     //关闭匿名结构、联合
#pragma pack()                             //取消字节对齐
/** ***************************************************************************
 *  @brief:接口数据声明
 * ************************************************************************* */




/** ***************************************************************************
 *  @brief:接口函数声明
 * ************************************************************************* */




#ifdef __cplusplus
}
#endif



#endif	 // __BSP_H

/** ***************************************************************************
 *  End Of File
 *  在烧写的时候是FLASH中的被占用的空间为:      Code + RO-data + RW-data
 *  程序运行的时候,芯片内部RAM使用的空间为:    RW-data + ZI-data
 * ************************************************************************* */

bsp_conf.h代码

/** ************************** Copyright (c) **********************************
 *
 *
 *
 * ------------------------------File Info-------------------------------------
 * @file:               bsp_conf.h
 * @author:             ${author.body}
 * @date:               2025-06-25
 * @version:            V0.0
 * @brief:
 *
 * ----------------------------------------------------------------------------
 * @modified:
 * @date:               2025-06-25
 * @version:            V0.0
 * @description:
 * @note:
 * ----------------------------------------------------------------------------
 * @copyright:
 * ************************************************************************* */
#ifndef __BSP_CONF_H
#define 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值