STM32固件库模板下载以及固件库学习方法

摘要:
固件库模板下载固件库模板创建过程:下载上一节中的固件库文件,在计算机上创建一个名为Fwlib template的新文件夹,并在此文件夹下创建四个名为DOCLibrariesProjectUser的文件夹,其中会自动生成ListingOutput。打开keil5并将新项目保存在项目中(名称尽量不要为中文)--˃选择相应的STM32芯片--˃将sourceGroup1的名称更改为Startup,并在项目中创建新的CMSIS

固件库模板下载

固件库模板新建过程:

  1. 下载我们上节的固件库文件
  2. 电脑新建一个文件夹命名为Fwlib-Template,在此文件夹下分别新建DOC Libraries Project User 这四个文件夹 其中 Listing Output 自动生成。
  3. 打开keil5 新建工程 保存在project (名称尽量别是中文)-->选择相应的STM32芯片-->更改source Group1名为为Startup,在项目里新建CMSIS FWLIB USER DOC
  4. 在电脑新建的Libraries下添加

              4.1)CMSI文件夹内容为:system_stm32f10x.h system_stm32f10x.c stm32f10x.h core_cm3.h core_cm3.c 文件 并且新建startup文件夹 添加这8个文件STM32固件库模板下载以及固件库学习方法第1张

              4.2)将下载的固件库中的STM32F10x_StdPeriph_Driver 全部copy进来

        5. 在User中添加如下文件

STM32固件库模板下载以及固件库学习方法第2张

         其中main中的内容为

#include "stm32f10x.h"   // 相当于51单片机中的  #include <reg51.h>

int main(void)
{
    // 来到这里的时候,系统的时钟已经被配置成72M。
}

我们将这些文件夹中的内容按图添加到项目中 如图

STM32固件库模板下载以及固件库学习方法第3张STM32固件库模板下载以及固件库学习方法第4张

           5. 魔术棒设置:

            5.1点击魔术棒:设置如下(设置两个红框里面的内容)

STM32固件库模板下载以及固件库学习方法第5张

Define:USE_STDPERIPH_DRIVER,STM32F10X_HD

include path :STM32固件库模板下载以及固件库学习方法第6张

(设置的原因:如果不这样设置,keil5会自动去软件安装的目录下找这些头文件和声明,设置后会想我们新建的模板中去寻找)。

      5.2设置target和output

STM32固件库模板下载以及固件库学习方法第7张STM32固件库模板下载以及固件库学习方法第8张

       6.添加一个清除垃圾的bat,放在Fwlib-Template文件夹下,命名为keilkill.bat

del *.bak /s
del *.ddk /s
del *.edk /s
del *.lst /s
del *.lnp /s
del *.mpf /s
del *.mpj /s
del *.obj /s
del *.omf /s
::del *.opt /s  ::不允许删除JLINK的设置
del *.plg /s
del *.rpt /s
del *.tmp /s
del *.__i /s
del *.crf /s
del *.o /s
del *.d /s
del *.axf /s
del *.tra /s
del *.dep /s           
del JLinkLog.txt /s

del *.iex /s
del *.htm /s
del *.sct /s
del *.map /s
exit

关于仿真器的配置 自行百度

 

学习方法(看源码.H 和.C文件)

      每个外设的.h文件中都有一个结构体,我们只需要对结构体的内容进行赋值即可,然后调用init函数写入寄存器中,.h文件中有定义一些方法,我们输入相应的参数调用方法即可实现相应的功能。

免责声明:文章转载自《STM32固件库模板下载以及固件库学习方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇GPIO 输出—使用固件库点亮 LED初始STM32固件库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Keil MDK仿真调试STM32的时候直接进入SystemInit函数

1. 仿真的时候,进入之后 2. 说是main()未定义,可是明明定义了,什么原因?喔,看错了,是--main。对比了一下和正常工厂的配置,都一样,换个jlink V9测试一下吧。换了个ST LINK V2 也不行,看样子是工程的问题喽?屏蔽了一些main()函数的一些代码,发现可以执行到main()了!!!奇哉怪也,难道后面的代码写错了,导致不能仿真...

STM32 Timer (3) PWM代码的实现

理论知识基于上一篇文章 STM32 Timer (2) 定时器中断代码框架 3.1 PWM分频系数和参数的含义 定时器周期公式T = (arr+1)(psc+1)/f; f = (APB1 *2).//定时器基本参数: //ARR: 自动重装载值; //ftim: 频率 //PWM参数: //CCRx: 比较值 对于定时器参数更深入...

STM32-SPI读写串行FLASH

SPI协议简介 SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、 LCD 等设备与 MCU 间,要求通讯速率较高的场合。 学习本章时,可与 I2C 章节对比阅读,体会两种通讯总线的差异以及 EEPROM 存储器与 FLASH 存储器的...

嵌入式整体框架——总结

嵌入式应该什么都要涉及的到,从最开始的51单片机,之后到高级一些的微控制器 ARM cortexM3 M4等,STM32最为典型,她的主要特点就是功耗低,性能还算好些,再信号处理领域比较强的 就要选择TI的DSP了,这些都算是不能跑linux系统的,因为他们都不带MMU (内存管理单元),所以大部分都是裸机跑,或者任务多的时候,用一些实时操作系统,如Ucos...

PS如何批量生成缩略图(方法可以通用其他重复劳动)

原图 缩略 进入正题,学生时代玩过脚本精灵的应该一点就通 原理就是:录制一系列动作,然后生成脚本,并执行(经常PS水印代码的一个可以用程序实现,一个就可以用PS脚本) 新建一个组 新建一个动作 进行你的重复操作,它会记录下来 比如:缩小一下大小再导出 停止录制,框框里面就是PS记录的动作 生成批处...

STM32学习笔记——序言

写AVR已经两年了。如果初中时候玩Arduino也算的话,就是6年。 两年以来,我用AVR单片机完成了两个大项目: AVR单片机教程,一时兴起写的,效果不好; MEDS,参赛用的课题,半完成,比赛都结束了就放弃了。 以及若干小项目,AVR×C++、光立方、摇摇棒等,还有未完成的USB下载器、升级版光立方和摇摇棒等。 尽管还有未完成的项目,我对AV...