学习目标:
- 掌握 STM32 基础知识
学习STM32单片机之------IO控制
数据缩写
ODR : Output data register;数据输出寄存器
RCC(reset and clock control);复位和时钟控制
学习内容:
-
在STM32 中,每个外设都有一个起始地址,叫做外设基地址,外设的寄存器就以这个基地址为标准按照顺序排列,跟结构体里面的成员差不多
-
ODR 寄存器的地址偏移是:0CH,这个偏移地址是基于端口的起始地址而言的
-
STM32 的IO 口还要配置方向,这个由端口配置寄存器来控制。端口配置寄存器分为高低两个,每4bit 控制一个IO 口,所以端口配置低寄存器:CRL 控制这IO 口的低8位,端口配置高寄存器:CRH控制这IO 口的高8bit。在4 位一组的控制位中,CNFy[1:0] 用来控制端口的输入输出,MODEy[1:0]用来控制输出模式的速率,即输出时,IO 电平翻转的速度,如下图所示。
八个IO口,每四位控制一个IO口,stm32寄存器都是32位的。 -
STM32 外设很多,为了降低功耗,每个外设都对应着一个时钟,在系统复位的时候这些时钟都是被关闭的,如果想要外设工作,必须把相应的时钟打开。
-
STM32 的所有外设的时钟由一个专门的外设来管理,叫RCC(reset and clock control)
-
STM32 的外设按照速率的不同,分别挂载到三条总线上:AHB、APB2、APB1,AHB为高速总线,APB2 次之,APB1 再次之。所以的IO 口都挂载到APB2 总线上,属于高速
外设。时钟由APB2 外设时钟使能寄存器(RCC_APB2ENR)来控制,其中PB 端口的时钟由
该寄存器的位3 写1 使能。
RCC 外设中的:时钟控制寄存器(RCC_CR)和时钟配置寄存器(RCC_CFGR)
学习总结:
控制了电平,配置了方向,开启了时钟,即可控制一个LED灯。