stm32F103寄存器点灯

分为三个步骤1.开启GPIOx对应的RCC时钟 2.开启引脚的输出模式速率 3.通过ODR数据寄存器发出电平信号

一、开启GPIOB 端口时钟

1// 开启 GPIOB 端口 时钟
2 RCC_APB2ENR |= (1<<3);

二、开启引脚的输出模式速率

首先我们把连接到 LED 灯的 GPIO 引脚 PB0 配置成输出模式,即配置 GPIO 的端口配
置低寄存器 CRL,见图 8-9CRL 中包含 0-7 号引脚,每个引脚占用 4 个寄存器位。
MODE 位用来配置输出的速度, CNF 位用来配置各种输入输出模式。在这里我们把 PB0
置为通用推挽输出,输出的速度为 10M, 具体见代码清单 8-4 


 

1 // 清空控制 PB0 的端口位
2 GPIOB_CRL &= ~( 0x0F<< (4*0));
3 // 配置 PB0 为通用推挽输出,速度为 10M
4 GPIOB_CRL |= (1<<4*0);

三、控制引脚输出电平

在输出模式时,对端口位设置/清除寄存器 BSRR 寄存器、端口位清除寄存器 BRR
ODR 寄存器写入参数即可控制引脚的电平状态,其中操作 BSRR BRR 最终影响的都是
ODR 寄存器,然后再通过 ODR 寄存器的输出来控制 GPIO。为了一步到位,我们在这里直
接操作 ODR 寄存器来控制 GPIO 的电平。具体见代码清单 8-5

1 // PB0 输出低电平
2 GPIOB_ODR &= ~(1<<0);

 

猜你喜欢

转载自www.cnblogs.com/wtadmirewxy/p/12730184.html