STM32入门(二)寄存器点灯补充

前面介绍了寄存器点灯的方法,准确说好像是叫寄存器位寻址的操作方法,比较繁琐,其实用寄存

器也可以用简单一点的代码语句来写,只不过可读性比较差些。比如:

RCC->APB2ENR=0X00000010;//配置GPIOC的外设时钟
GPIOC->CRH=0X00300000; //配置高寄存器GPIOC为推免输出模式
GPIOC->ODR=0X00000000;//配置PC13端口输出低电平

寻找寄存器地址的步骤:

1.我们直接可以通过查手册来找APB2 外设时钟使能寄存器(RCC_APB2ENR)

GPIOC端口配置规则:

IOPCEN:IO端口C时钟使能 (I/O port C clock enable) 由软件置’1’或清’0’

0:IO端口C时钟关闭; 1:IO端口C时钟开启。

即置1开启 时钟,所以32位寄存器应该对应填写为十六进制0x00000010;

RCC->APB2ENR=0X00000010;

2.配置GPIOC为推免输出模式(至于什么是推免输出,下一章库函数会说到)

找到端口配置高寄存器(GPIOx_CRH) (x=A..E),因为端口x的配置位为(y = 8…15)的为寄存器

(而且这里PC13端口是STM32原理图的灯的电平输入端口,即y=13,所以要选择高寄存器来配置。)

按照手册的说明配置GPIOC的13号端口为推免输出模式,速度频率为50MHZ(频率随便选),

GPIOC->CRH=0X00300000;

 3.第三步就是配置GPIOC的输出了,找到stm32手册里的端口输出数据寄存器(GPIOx_ODR) (x=A..E),13端口给0输出低电平,

即GPIOC->ODR=0X00000000;

 这样我们就配置好了GPIOC13的点灯寄存器操作。下面总结两种寄存器点灯的写法。

写法1的可读性强,且不会影响寄存器的其它位,写法二比较傻瓜式,比较快一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半重积分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值