第六章: GPIO

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.

原文地址:https://www.cnblogs.com/alan6y/p/14722555.html