STM32F103点亮LED寄存器方式

1、寄存器

1.1、开启GPIOE对应时钟

1.1.1、找到GPIOE对应时钟

STM32F103点亮LED寄存器方式
STM32F103点亮LED寄存器方式
打开STM32F1xx中文参考手册,找到上图可以看到GPIOE是挂在AHB的APB2上的。

1.1.2、找到对应基地址

STM32F103点亮LED寄存器方式
STM32F103点亮LED寄存器方式
找到时钟控制的基地址。
用宏定义定义它的地址:
STM32F103点亮LED寄存器方式

1.1.3、找到APB2的偏移地址

STM32F103点亮LED寄存器方式
STM32F103点亮LED寄存器方式

找到偏移地址
宏定义它的地址
STM32F103点亮LED寄存器方式

1.1.4、编写程序开启PE5时钟

STM32F103点亮LED寄存器方式
找到PE5的时钟使能位
开启时钟
STM32F103点亮LED寄存器方式

1.2、配置PE5对应寄存器

1.2.1、找到对应基地址

STM32F103点亮LED寄存器方式
宏定义地址
STM32F103点亮LED寄存器方式

1.2.2、找到配置寄存器IOPE的所有偏移地址

STM32F103点亮LED寄存器方式
用指针指向寄存器地址,然后宏定义它
STM32F103点亮LED寄存器方式

1.2.3、配置CRL寄存器

STM32F103点亮LED寄存器方式
端口5配置为:输出模式50MHz、通用推挽输出模式
STM32F103点亮LED寄存器方式

1.3、控制ODR或BSRR和BRR寄存器点亮LED

1.3.1、控制ODR寄存器亮灭

STM32F103点亮LED寄存器方式
程序实现亮灭
STM32F103点亮LED寄存器方式

1.3.2、控制BSRR和BRR寄存器亮灭

BRSS
STM32F103点亮LED寄存器方式
BRR
STM32F103点亮LED寄存器方式
程序实现亮灭
STM32F103点亮LED寄存器方式

2、库函数

2.1、RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)

2.1.1、2个形参

1.uint32_t 是无字符型整形
2.FunctionalState 形参可以是DISABLE或ENABLE,前者为0后者为1

2.1.2、IS_RCC_APB2_PERIPH(RCC_APB2Periph)

RCC_APB2Periph 就是时钟的基地址

2.1.3、IS_FUNCTIONAL_STATE(NewState)

NewState 是使能或关闭,1或0

2.1.4、assert_param()

2.1.5、RCC函数功能

开启时钟

2.2、结构体GPIO_InitTypeDef

2.3、GPIO_Init();

2.4、GPIO_SetBits();

2.5、GPIO_ResetBits();

3、位操作

4、总结