STM32标准库_01 | 搭建自己的程序框架

本篇文章主要介绍本人早期的基于STM32标准库的程序框架,希望能给人以收获。

1.开发环境

软件环境

使用MDK5.25版本,芯片包为STM32F1系列。

硬件环境

开发板:一块STM32F103C8T6开发板(FLASH:64kBytes,RAM:20kBytes),是一款中等容量的芯片。

烧录器:STlink或者Jlink。

2.工程创建

创建文件夹

现在本地文件夹下创建4个文件夹,分别是APP(存放应用层代码),LIB(存放STM32标准库相关文件),CORE(存放STM内核与启动文件等),Project(存放工程相关文件)。

创建工程

在MDK中新建工程,保存到刚刚创建的本地文件夹下的Project文件夹中,并选择STM32F103芯片。

后面会弹出选择其他驱动组件的界面,直接选择取消。

接着直接用正点原子战舰板资料(推荐下载,软硬件资料很全)里面的v3.5固件库,把工程需要的文件拷贝到本地文件夹中,如图示主要是拷贝到CORE和LIB文件夹。

我们的LIB文件夹直接拷贝STM32战舰的参考资料\STM32F1xx固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver文件夹下的inc和src这两个文件夹。

在MDK中导入我们的文件夹结构

在本地APP文件夹中添加main.c等文件夹(记得勾选显示文件拓展名),再添加到MDK中。

最后要指定一下头文件路径和添加全局属性的宏定义。

3.编写代码

打开main.c添加main函数并编译

框架代码编写

(1)系统时基

当我们拿到一块STM板子的时候,我们得看它的外部晶振是多少M的(一般用8M的外部晶振),如果不是8M的晶振就需要修改stm32f10x.h和system_stm32f10x,c里的SetSysClockTo72()函数共两处地方。

开始编写systick.c和systick.h文件。

(2)编写LED程序用于测试

原理图

程序下载

实验现象

代码已全部上传到gitee,希望各位小伙伴们在下载的同时不忘点击Star,地址:https://gitee.com/Notmi/stm32-standard-peripheral-libraries

posted @   半截心跳  阅读(2653)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示