使用寄存器点亮led灯

1.由于STM32的 外设很多,为了降低功耗,每个外设都对应着一个时钟,在芯片刚上电的时候这些时钟都是被关闭的,如果想要外设工作,必须把相应的时钟打开。
所有的 GPIO都挂载到 APB2 总线上,具体的时钟由 APB2外设时钟使能寄存器(RCC_APB2ENR)来控制。

开启 GPIOB 端口 时钟

 RCC_APB2ENR |= (1<<3);

1<<3的含义:1代表0x01,然后左移三位,由0000 0001变为0000 1000

2.把连接到 LED 灯的 GPIO 引脚 PB0 配置成输出模式,即配置 GPIO 的端口配置低寄存器 CRL,CRL中包含 0-7 号引脚,每个引脚占用 4个寄存器位。MODE位用来配置输出的速度,CNF 位用来配置各种输入输出模式。在这里我们把 PB0 配置为通用推挽输出,输出的速度为 10M
// 清空控制 PB0 的端口位
GPIOB_CRL &= ~( 0x0F<< (4*0));

配置 PB0 为通用推挽输出,速度为 10M(0001)

 GPIOB_CRL |= (1<<4*0);

(1<<4*0)含义:根据优先级先算乘法所以4*0=0,所以1<<0=0x01

3.

直接操作 ODR寄存器来控制 GPIO 的电平

// PB0 输出 低电平
 GPIOB_ODR |= (0<<0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值