| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 1)STM32F10X--创建库函数编程模板 -> 正文阅读 |
|
[嵌入式]1)STM32F10X--创建库函数编程模板 |
1.获取固件库官方固件库下载地址:STSW-STM32054 - STM32F10x standard peripheral library - STMicroelectronics 蓝奏云分享: 2.创建工程文件夹在电脑任意位置(最好是专门放32工程)创建一个文件夹(纯英文路径!!不要使用中文输入)
(1)将解压后固件库的Libraries 文件夹(图2.1)拷贝到创建的文件目录下。同时,在 创建的文件目录下面新建 1 个文件夹,命名为 User,如图2.2。
??--->图2.1
--->图2.2 (2)
将固件库里的五个文件拷贝至 User 文件夹下
,分别如下:
其中:
stm32f10x.h 文件在 Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 目录下,其余四个
文件在 Project\STM32F10x_StdPeriph_Template 目录下。效果如图2.3
?--->图2.3 ? 3.新建工程与芯片选型
打开 Keil5 软件,在 Project 菜单下选择 New uVision Project…,
?将工程名修改为 template (注意使用英文,如果使用中文名可能会出现一些奇怪的错误),
保存在刚才创建的文件夹目录下。
? ?
如果这里没有出现你想要的 CPU 型号, 或者一个型号都没有,那么肯定是你在安装 KEIL5 软件的时候没有添加芯片包。
? 作者使用的是STM32F103ZET6芯片(VE芯片也在同一目录STM32F103)
依次点击 STMicroelectronics——STM32F1 Series——STM32F103——STM32F103ZE
?库文件管理--->点击OK即可? 4.给工程添加分组(1)点击下面图标,创建工程组:或 ?
在下图中,点击圆圈图标,并新建 User、Startup、StdPeriph_Driver 和 CMSIS 四个新的工程
组。
? ?点击 OK 后,可以看到工程列表下,就会按照刚才新建的分组建立目录,如下: ?
User 组用于存放 User 文件夹下的源文件,Startup 组用于存放启动文件,StdPeriph_Driver
组用于存放 STM32 外设的驱动源文件、CMSIS 组用于存放 CMSIS 标准文件,比如系统总线
时钟等初始化源文件。
5.给各个分组添加文件
可以在分组管理窗口里面添加,也可以直接在工程列表里双击相应的分组进行添加。这里采
用后者,先给 User 组添加文件,在工程类别里双击 User,并定位到项目目录下的 User 文件
夹,将 main.c 和 stm32f10x_it.c 添加。
注意
:点击 Add 后窗口不会自动关闭,可以继续到其他路径下添加文件到该组,这里不需
要继续添加,直接 Close 即可。
依次给 Startup、StdPeriph_Driver 和 CMSIS 分组添加相应文件。
注意添加 Startup 文件时,
文件是.s 后缀,文件类型要设为 All files 才能看到
。该文件藏得比较深,路径是:
Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
? ? ?加完成后的工程列表如下: ?
StdPeriph_Driver 组文件都在 Libraries\STM32F10x_StdPeriph_Driver\src 目录下;
CMSIS 组需要添加的文件分别位于:
core_cm3.c:Libraries\CMSIS\CM3\CoreSupport
system_stm32f10x.c:Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
6.配置编译选项
这一步非常重要,点击下图指示处图标,打开配置窗口:
?
(1)定位到 Target 选项卡,中选中微库“Use MicroLib”,主要是为了后面 printf 重定向
输出使用。其他的设置保持默认即可,配置如下:
?
(2)定位到 Output 选项卡,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File
选项勾上(如果采用仿真器进行烧写,这个可以不设置)。配置如下:
(3)C/C++选项卡配置
定位到 C/C++选项卡,在 Define 一栏中输入:
USE_STDPERIPH_DRIVER,STM32F10X_HD
注意上述字符串之间有一个英文逗号,没有空格。
?
下一步还需要将头文件的搜索路径包括进来,还是在这个界面,点击 Include Paths 处右端
的三个小点,然后依次将相关目录添加至设置里(这里不要直接输入路径,很容易错,使用
右边的三个小点,然后进入到对应文件夹,再点击 “选择文件夹”)。
包括三个路径:
\User
\Libraries\CMSIS\CM3\CoreSupport
\Libraries\STM32F10x_StdPeriph_Driver\inc
? ?
(4)Debug 选项卡配置
定位到 Debug 选项卡,在 Use 中选择 CMSIS-DAP Debugger。
这个时候,为了让后面的设
置中能够自动检测仿真器的型号,需要将连接好开发版的仿真器插入电脑的 USB 口,然后
稍等几秒,再点击 Setting 继续后面的设置。
?
?
先不要关闭上述界面,切换至 Flash DownLoad 选项卡下
。确认芯片是 STM32F103ZET6,
Flash 大小为 512K。勾选 Reset and Run,勾上的话,当程序下载进去后自动复位运行,如
果不勾上,程序下载进去后需按下开发板上复位键才能运行。通常选择勾上。具体配置如下:
?一路 OK 出去,关闭配置窗口。 7.修改 main.c,编译代码
双击 main.c,会发现里面有很多代码,这个是我们直接从 ST 公司提供的模板上复制过来的,
所以我们把 main.c 文件内的所有内容删除,写上一个最简单的框架程序,如下,保存。
?点击下图中的图标,编译整个项目: ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:45:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |