kiel新建STM32F1系列单片机工程(寄存器版和标准库版)
目录
第一步打开Keil MDK创建工程
第二步添必要文件(如果只基于寄存器开发做到这里就可以了)
1.下载标准库文件。
2.添加启动文件
3.将另外五个文件也复制到 Start文件夹下。
4.添加两个虚拟文件夹并添加相应的代码
5.添加包含路径
第三步添加库文件
1.在原来的工程目录下新建Library文件夹
2.去到我们刚才下载的标准外设库目录,找到我们需要的库文件并复制到Library文件夹
3.添加一个和Library同名的虚拟文件夹
4.在虚拟文件夹中添加文件
第四步添加宏定义
第五步程序验证
第一步打开Keil MDK创建工程
双击打开Keil MDK
1.点击 MDK 的菜单:Project –>New Uvision Project
2.创建一个空白的文件夹,然后选择这个文件夹作为你的工程目录(文件夹的名字自己可以根据工程具体内容取,我这里取名demo),文件名也是根据工程具体内容取(我这里取名project)但是不能用中文!!!切记切记切记。
3.搜索自己的单片机型号,我这里选择STM32ZE
4.在弹出的页面点叉
然后你就会发现右边的框中没有文件,就像这样
打开刚才创建的工程目录是这样的
接下来就要向里面添加库文件了
第二步添必要文件(如果只基于寄存器开发做到这里就可以了)
1.下载标准库文件。
方式一:官网下载 https://www.st.com/zh/embedded-software/stm32-standard-peripheral-libraries/products.html
方式二:网盘下载
https://pan.baidu.com/s/1fRX4atC6nHJT3BnCvsK9_g
提取码:za32
2.添加启动文件
为了方便管理,我们把启动文件放入专门目录中。在刚才创建的工程目录中创建两个目录:Start和User(名字没有强制要求,随意,但是最好不要有中文)。
去到我们刚才下载的标准外设库目录,找到我们需要的启动文件和其他核心文件复制到Start目录。
具体位置:
STM32F10x_StdPeriph_Lib_V3.6.0\\Libraries\\CMSIS\\CM3\\DeviceSupport\\ST\\STM32F10x\\startup\\arm
启动文件选择标准(根据内存容量选择,刚才我们选择的单片机为STM 32ZE,所以我们选择startup stm32f10x hd.s文件):
3.将另外五个文件也复制到 Start文件夹下。
具体地址:
STM32F10x_StdPeriph_Lib_V3.6.0\\Libraries\\CMSIS\\CM3\\DeviceSupport\\ST\\STM32F10x
具体地址:
STM32F10x_StdPeriph_Lib_V3.6.0\\Libraries\\CMSIS\\CM3\\CoreSupport
复制完之后Start文件夹下将有六个文件。
4.添加两个虚拟文件夹并添加相应的代码
先删除默认的Source Group 1,再添加两个:Start(启动相关的文件),User(我们自己写的代码)。
点击添加文件(在虚拟文件夹中链接真实的文件)。
找到刚才的Start文件夹,文件类型选择全部,然后点击add。
添加完成之后工程的样子。
创建main.c 文件
创建在User目录下
5.添加包含路径
包含路径就是告诉编译器:“我用的那些现成的代码(库文件)放在哪个文件夹里,你自己去翻!”如果不添加keil会找不到刚刚复制到User文件夹和Start文件夹的文件
第三步添加库文件
STM32工程为什么要添加库文件?
库文件 = 别人写好的“工具包”
STM32 单片机功能强大,但直接操作硬件(寄存器)极其复杂,就像让你用“扳手+螺丝刀”去造一辆汽车。
库文件的作用:
- 把底层硬件操作封装成简单函数(比如
HAL_GPIO_TogglePin()
点灯,HAL_UART_Transmit()
发串口数据)。 - 你不用自己研究几百页的芯片手册,直接调用现成的函数就行。
相当于:
- 没库文件 → 你得自己造轮子(从零写代码控制硬件)。
- 有库文件 → 直接开现成的汽车(调用函数就能用)。
1.在原来的工程目录下新建Library文件夹
2.去到我们刚才下载的标准外设库目录,找到我们需要的库文件并复制到Library文件夹
具体地址:
STM32F10x_StdPeriph_Lib_V3.6.0\\Libraries\\STM32F10x_StdPeriph_Driver
将Inc和src中的文件都复制到library文件夹中(只要里面的文件,不要复制整个inc和src文件夹)
将如下三个文件复制到之前创建的User文件夹下
具体地址:
STM32F10x_StdPeriph_Lib_V3.6.0\\Project\\STM32F10x_StdPeriph_Template
3.添加一个和Library同名的虚拟文件夹
4.在虚拟文件夹中添加文件
注意一定要选择所有文件
同样User中需要添加刚加入的三个新文件步骤同上
3.同样新创建的Library文件夹也要添加到包含目录
步骤同上
第四步添加宏定义
输入 USE_STDPERIPH_DRIVER
第五步程序验证
记得最后一行空行,不然会有一个警告
最后零错误,零警告