正点原子学习笔记(1)—图解GPIO功能结构和工作模式@[toc]
在上一篇博客说明了GPIO的结构和八种模式,在这篇博客会详细说明如何操作寄存器。
在这里插入图片描述
如上图,可以知道各个寄存器的功能
这里可以先看一看(F1系列)GPIO通用寄存器。
下标r:只读
下标w:只写
下标rw:可读可写
1.F1寄存器详解
下标rw:可读可写
CRL
:32bit 控制引脚PA0-PA7 每个引脚分4个bit
CRH
:32bit 控制引脚PA8-PA15 每个引脚分4个bit
这两个寄存器控制工作模式和输出速度,这里列举两个例子说明。
如 CNF5[0:1] MODE5[0:0] ——CRL 0100
这里由CRL控制PA5,输入模式,在输入模式里的浮空输入模式
如 CNF11[0:1] MODE11[1:0]——CRH 0110
这里由CRH控制PA11,输入模式,最大速度为2MHz,在输出模式里的开漏输出模式
MODE控制输入还是输出,然后由CNF控制具体的寄存器模式。
可以配置ODR控制上下拉
下标r:只读
IDR
:16bit 控制引脚PA0-PA15 每个引脚分1个bit
这个寄存器是r只能读数据,默认为0,会读出对应io口状态。
ODR
:16bit 控制引脚PB0-PB15 每个引脚分1个bit
可读可写,若在PA0写1则是ODR0_BSRR-1即可
下标w:只写
这个寄存器只能往ODR写入数据
其中BRO——BR15写入1把PA的电平写入0
其中BSO——BS15写入1把PA的电平写入1
2.总结FI寄存器
CRL
和CRH
控制IO引脚PA0-PA15
,可以控制输入输出和工作模式。
IDR
只读IO引脚的PA0-PA15
电平。
ODR
可读可写,写出PB0-PB15
,可以输出0或1电平。
BRSS
只可写,往ODR
写入电平。
F4/F7/H7寄存器也是类似的操作,因为我学的F1没有详细去看,但只要按照手册去操作即可