初见STM32(一):点亮LED之寄存器操作
这是STM32学习笔记的第一篇
在经过学习51的一段时间之后,现在要开始接触更为高级的单片机——STM32。作为拿到板子后的初见学习笔记,这几篇会倾向于从51过渡到32,且会啰嗦一点。
开始学习之前,你手上需要准备好以下三样物品:STM32单片机、STM32原理图、STM32的中文参考手册。
需要文件的同学可以在文末处的链接下载
我使用的板子是STM32F103ZET6正点原子精英版
毋庸置疑,作为一个学习单片机的初学者,在拿到板子后要学的第一件事情,那肯定是想尽方法,使用各种骚操作点亮板子上的LED灯,那么现在,就让我们开始吧。
一、STM32的系统构架
首先我们要知道,STM32是一款外设特别多的单片机,它有一条系统总线,在总线下面挂载两座桥,,桥下面又有一些外设,具体如图:
可以看到,在51学到的I/O口,在32中就挂载在APB2下面,我们要做的就是进入APB2,操作LED对应的GPIO,来点亮我们的LED。
这里可能有人会有疑问,为什么51单片机不需要设置总线,就可以直接操作GPIO,而32需要进入这不知道什么鬼的总线,再进入不知道什么鬼的APB2,才能进行操作?
(因为我也是在学习当中,所以我只能尽我所能地,简单地解释一下,有错误就指出来啊)
原因如下:STM32有一个特点,就是有特别多的引脚,从而可以搭载特别多的外设,外设多的原因,使得它工作耗能多,因此通过将不同的外设划分开来,在需要时再进入对应的区域,这样能减少单片机的耗能,因此在操作前,我们都需要“进入”这样一个操作,我们也称之为 使能时钟。
二、GPIO的具体操作
在了解了STM32的基础架构后,我们就可以开始操作GPIO来点亮我们的灯啦!
我们要做的就是: