32单片机固件库入门(当我们新建工程时…的各种配置和目录结构)–学习笔记
一,关于keil5内部的一系列配置
由于下述代码的存在 每次如果想要包含stm32f10x_conf.h 只需要包含#include "stm32f10x.h" 语句,同时包含下述宏定义
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
该宏定义可以在IDE中配置:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a9f42b3744e14cb1b285110a4a212a27.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
设置优先查找头文件的目录:
![在这里插入图片描述](https://img-blog.csdnimg.cn/db5528fd5e5b449e972e0bcfd1cce987.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/dd75457e7bd6451d9c352acd62f14aab.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
勾选Micro LIB 使用一些C语言函数:
![在这里插入图片描述](https://img-blog.csdnimg.cn/d9d3ba40e8134c8bb42427e3c3afdd3c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
勾选 生成hex文件 和 调试信息(go to definition 鼠标右击函数可以查看函数原型)
![在这里插入图片描述](https://img-blog.csdnimg.cn/b8a8c53455aa4585884ea6da363015d9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e3e5c47c7f994be0a905cf7e8a092e50.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2aa0cc0e9ba6430a813f004941ad1d23.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/c1519c34397645c3a62419328fedb65b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/1308984edf5e474bad1d1d5590af6e2b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/94ee087ba58341b4be3d8994dac850cd.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
如果如上述情况Programming Algorithm 中没有内容填充,需要手动选择(这里选择512 K,野火F-103)
![在这里插入图片描述](https://img-blog.csdnimg.cn/fcd8dcd12c494138a46c9e054672a470.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
注意:每次更改Device需要重新设置部分设置。
此外:Edit->Configuration->Text Completion->Dynamic Syntax Checking 将其取消勾选,可以取消代码的动态检查。
二,项目目录结构
* 根目录:包含四个文件夹
![在这里插入图片描述](https://img-blog.csdnimg.cn/d2f2eb51cdd84c0e833722ea33db7c38.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
下面对这四个文件夹展开:
1. Doc:文档说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/064986e80db4409d9f4628c7c4c00c98.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
2. Library:需要的一切配置文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/774921eaf593496fa19b77f753824427.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
Library文件夹内部:
![在这里插入图片描述](https://img-blog.csdnimg.cn/dcd2a38c3b654052bfb2200c77616de3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
3. Project:创建项目的地方(工程名自取:此处按照火哥教程取为BH-F103 )
![在这里插入图片描述](https://img-blog.csdnimg.cn/d8aeb524055e43ff80cf2496cb90ea13.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
4. User:创建main.c 函数的地方,另外三个文件从3-STM32官方资料\STM32F103官方固件库与手册(标准库)\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 拷贝。
![在这里插入图片描述](https://img-blog.csdnimg.cn/00ad38798ede43aa9968fee40072e103.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
5. 此外:资源文件夹:
![在这里插入图片描述](https://img-blog.csdnimg.cn/05615b4b0ec845a199b2d651c5ce3f39.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/29e93cefb8ad48a3862324662694d9f1.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
三,工程文件Add的内容
*首先创建五个文件夹:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8b66e443c134408ca2d79f10b849e863.png#pic_center)
STARTUP:启动文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/49b9a83d6cd74098bfa21eeb7f469d52.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
CMSIS:添加c文件(来自刚才文件目录结构的CMSIS文件,请查看Libraries文件夹)
![在这里插入图片描述](https://img-blog.csdnimg.cn/884318188ef64251ae3e8437e5a6b1f8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
FWLIB:固件库与外设相关的(也在Libraries目录下)导入src全部c文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/096eeed465f044438ff3d55b8d6d534a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
User:添加User目录下的c文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/461d754b9a634516b1d0651e14c085e6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
Doc:添加readme.txt
最终目录结构一览:
![在这里插入图片描述](https://img-blog.csdnimg.cn/953f79240ea94a03afeed6b0c0fe1686.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAb3JnYW5hMDA3,size_9,color_FFFFFF,t_70,g_se,x_16#pic_center) 到这里就结束啦。
|