STM32F103的流水灯点亮版本
文章目录
一、用Proteus 设计一个STM32最小系统板+LED流水灯实验原理图,仿真运行。
1.创建程序
2.选择对应器件,连接线路
3.烧入代码后,运行
1695902057672
二、 以 STM32最小系统核心板+面包板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯,轮流闪烁,间隔时长1秒。
1.利用GPIOA,GPIOB,GPIOC三个端口实现流水灯
查询数据手册找到GPIOA、GPIOB、GPIOC的地址
寄存器起始地址
可以看出AHB的时钟起始地址
APB2的偏移地址为0x18
由于STM32的每个IO都需要4个位来配置,所以一个32位的寄存器最大只能配置8个IO(32位的单片机的寄存器就是32位的)用端口配置高寄存器(GPIOx_CRH)来配置引脚Px8-Px15。
配置引脚PB8,使用的寄存器是GPIOB_CRH
并选择推挽输出的方式
找到端口输出数据寄存器,这个数据寄存器的地址就是0x4001 0C0C,把第8位写为0就行。默认就是0
#define GPIOA_ODR *(volatile unsigned int *)40010800+0x0C//GPIOA的地址+端口输出寄存器
GPIOA_ODR &= ~(