一、点灯
点亮LED灯,需要用到GPIO
端口。
为了点亮LED灯,需要三个步骤:
- 打开GPIO口的时钟
- 初始化GPIO口(选择推挽输出)
- 设置低电平
1. 打开时钟
-
GPIO的地址
时钟的地址:
即0x40021018
,则打开三个IO口的时钟需要将三个位都置1
#define RCC_APB2ENR (*(unsigned int *)0x40021018)
// 打开时钟
RCC_APB2ENR |= (1<<3); // 打开 GPIOB 时钟
RCC_APB2ENR |= (1<<4); // 打开 GPIOC 时钟
RCC_APB2ENR |= (1<<2); // 打开 GPIOA 时钟
2. 初始化
GPIO口有八种模式:
- 输入浮空
- 输入上拉
- 输入下拉
- 模拟输入
- 开漏输出
- 推挽式输出
- 推挽式复用功能
- 开漏复用功能
这里使用推挽输出
端口1-7为低,端口8-15为高。每个引脚由四个位控制。
以GPIOB
和0号引脚(B0)为例,将其设置为推挽输出
,并设置最大速度为10MHz
,则将控制B0
的四个位设置为0001