STM32F103-寄存器开发配置时钟

STM32F103有三个总线,AHB、APB1和APB2,总线基地址是由APB1开始的,地址是0x40000000,通用输入输出(GPIO)挂载在总线APB2上,复位与时钟控制(RCC)挂载在AHB上,使用寄存器开发时,我们通过引脚的控制来使用单片机,也就是使用地址来控制该地址对应的引脚。

查看用户手册时,通过偏移地址获知使用的寄存器的地址,比如下面图中的地址

我们从手册上知道,RCC基地址为0x40021000,偏移了0x04,就是0x40021004。常用到的有GPIO的基地址,RCC的基地址以及总线基地址(即APB1基地址)。这些在官方库文件的头文件中都有定义,参考后使用即可。

现在,我们要使用PC引脚,因此我们要先将对应的时钟使能(ENABLE),查找用户手册,得到控制IO口时钟开关的地址在RCC_APB2ENR上,首先我们通过上面的方法得到RCC_APB2ENR的地址,即0x40021000+0x18,然后根据表格数据得到控制IO口C时钟的是位4,并且置1是打开时钟,置0是关闭时钟。因此我们的目的是将位4置1,其他位不变。能做到这个要求的就是位运算符'|',通过将(1<<4)与RCC_APB2ENR‘|',就可以只改变位4为1,即0x40021018 |= (1<<4);这便打开了GPIOC对应的时钟,接下来就可以使用PC引脚了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值