目录
0.先拜一下祖师爷们,排名不分先后![](https://img-blog.csdnimg.cn/7b19dcb0e65e4f4ba60a20d36568fd51.jpeg)
1入门须知
一种微控制器 ,没操作系统;可以近似的理解为容易被被编程的CPU
1.1STM32f407vet6
STM:意法半导体公司
V:100个引脚 20个功能引脚;80个可编程引脚(分5组A~E,每组16个)
手册命名一般是:STM32F103XXX ,STM324XX这样子的
1.2搭建环境
下载keil 5.14.2(我使用的版本)
官网下载:凯尔产品下载 (keil.com)
非官网下载(需要破解):网上有资料与教程
安装过程
安装以管理员模式运行,一一点过,安装路径与安装数据包的路径都不能有中文;
安装完成后有必要包的安装,成功就可以1不用再安装某些支持包,一般是失败的;
1.3支持包安装
下载支持包,双击打开,点确认路径ok安装即可。
下载什么包依据你使用什么类型的STM32芯片,野火,正点原子的板子可以买,一般是用STM32F1与STM32F4系列,F1系列更简单;F4功能更强大,接近实际。另外初学者学习STM32前最好先学习51单片机。
1.4一些可能改变使用体验的设置
代码自动补全
下载后立即执行,不需手动开始
1.5界面介绍
1.6下载环境
驱动安装(ST-LINK、J-Link、usb)
用老师给的资源安装,在设备管理器使用线与板子链接看看设备管器有没有相应串口出现
Keil5设置
1.7新建第一个工程
①新建一个文件夹再在里面建6个如图的文件
②复制STM32F4XX库文件库到FWLIB下
③从固件库模板(Templates)中复制STM32F4XX内核必要.s源代码文件到Core下
④从固件库模板(Templates)中复制STM32F4XX内核必要.h头文件到Core下
⑤将KEIL CMSIS中必要头文件stm32f4xx.h,system_stm32f4xx.h加入到USER文件夹下
⑥又从样板(Templates)加入使用STM32F4XX固件库必要用户文件到USER文件夹下
⑦新建工程
⑧在KEIL5中加入工程中的文件
FWLIB添加文件,后删除stm32f4xx_fmc.c文件
Core中添加文件
User
⑨添加头文件路径
⑩一些设置 USE_STDPERIPH_DRIVER,STM32F40_41XXX,
在USER中新建main.c文件,保留下图二者,其余移除
编译查看有无错误,无错误则为完成
1.8工程1:点亮一个LED灯 寄存器方法配置
设定:1使用属于外设一部分的GPIO端口必须设定相应时钟
2外设时钟在或者说由AHB1提供;
3使用端口必需设置它的模式,选择输入还是输出;
思路:配置时钟->配置端口->配置GPIO端口输出的值
1.8.1复制或者新疆相应控制器标准工程,这里使用的型号是STM32F4XX,改名;
1.8.2打开STM32F4XX手册与STM32F4XX原理图查询存储器映射;
打开STM32F4XX原理图,找到LED与其对应的GPIO口PE8,知道灯在低电平时亮
使用在外设LED灯时必须设置GPIOE3端口对应的时钟使能,所以我们要查找输入AHB1总线时钟RCC(Reset and Clock Control,即复位和时钟控制)的边界地址;(相关知识后面会总结)
查找外设时钟RCC的资料
根据提示查找RCC外设使能寄存器,并且得到基地址0x4002 3800;
发现GPIOE端口使能GPIOEEN在RCC_AHB1ENR寄存器处,偏移地址是0x30;
打开目录找到RCC外设时钟使能寄存器,根据偏移地址找到包含有GPIOE使能的RCC_AHB1ENR寄存器