zoukankan      html  css  js  c++  java
  • 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.0LibrariesSTM32F10x_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

  • 相关阅读:
    ArcMap和ArcGIS Pro加载百度地图
    智能家居系列之——WIFI小车
    关于GIS中Scale和Resolution的那些事儿
    git cherry-pick
    虚拟DOM与DOM diff
    变量提升
    如果判定 this 又混乱了,就从头再读一遍……
    js 高程 Array
    Js高程-DOM
    剑指 Offer 15. 二进制中1的个数
  • 原文地址:https://www.cnblogs.com/zhanxiaohong0303/p/Hngz_Xiao_6_26.html
Copyright © 2011-2022 走看看