1.
2.
3.
电路结构由三个部分组成:①
4.
GPIO的工作模式
5.
输出模式的特点:①;②;③;④
输出模式一般不使能上拉、下拉电阻
开漏输出时,想要输出高电平需要外加一个电阻
6.
模拟模式
7.
端口寄存器
8.
9.
0不起作用
10.
利用指针访问单个寄存器
实际只需要10个32位的寄存器去控制每组端口。所以会有多余的存储空间
11.
地址转换
第③步这儿就相当于是定义了一个变量,可以对这个变量进行读和写操作
12.
指针基类型的定义
13.
利用结构体指针访问寄存器组:多个寄存器的定义
考虑到这多个寄存器的地址是连续的,所以可以利用结构体来实现。
14.
使用了typedf之后,可以使用GPIO_TypeDef这个别名来代替GPIO这个struct结构体
① __IO 是 volatile的别名,__IO可以体现出硬件特性;②uint32_t 是 unsigned int 的别名
15.
通过外设的结构体指针访问外设的相关寄存器
16.
17.
基于寄存器的方式去控制GPIO:配置寄存器!
18.
简化配置寄存器的过程:HAL库
19.
20.
21.
使用枚举类型的好处
22.
23.
GPIO接口函数
24.
ReadPin的源码和writePin的源码
25.