STM32F103点亮LED寄存器方式
1、寄存器
1.1、开启GPIOE对应时钟
1.1.1、找到GPIOE对应时钟
打开STM32F1xx中文参考手册,找到上图可以看到GPIOE是挂在AHB的APB2上的。
1.1.2、找到对应基地址
找到时钟控制的基地址。
用宏定义定义它的地址:
1.1.3、找到APB2的偏移地址
找到偏移地址
宏定义它的地址
1.1.4、编写程序开启PE5时钟
找到PE5的时钟使能位
开启时钟
1.2、配置PE5对应寄存器
1.2.1、找到对应基地址
宏定义地址
1.2.2、找到配置寄存器IOPE的所有偏移地址
用指针指向寄存器地址,然后宏定义它
1.2.3、配置CRL寄存器
端口5配置为:输出模式50MHz、通用推挽输出模式
1.3、控制ODR或BSRR和BRR寄存器点亮LED
1.3.1、控制ODR寄存器亮灭
程序实现亮灭
1.3.2、控制BSRR和BRR寄存器亮灭
BRSS
BRR
程序实现亮灭
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函数功能
开启时钟