STM32寄存器实现流水灯
一、GPIO端口初始化
1.时钟配置
通过查询STM32中文参考手册查询时钟使能(RCC) 寄存器映射基地址
本次流水灯采用GPIOA、GPIOB、GPIOC三个端口,位于APB2总线
找到对应端口总线的外设时钟使能寄存器偏移地址
查询可知GPIOA、GPIOB、GPIOC位于APB2总线上,偏移地址为:0x18
使能对应端口时钟
//----------------APB2使能时钟寄存器 ---------------------
#define RCC_APB2ENR *((unsigned volatile int*)0x40021018)
RCC_APB2ENR|=1<<2|1<<3|1<<4; //APB2-GPIOA、GPIOB、GPIOC外设时钟使能
2.配置输入输出模式
本流水灯采用通用推挽输出模式,并设置输出时钟频率2Mhz,使用端口A12、B1、C14。并通过手册查询使用的GPIO端口对应的地址:
1) GPIOx端口基地址: