用寄存器、amp和HAL库完成LED流水灯程序

用寄存器、amp和HAL完成LED流水灯程序
摘要由CSDN通过智能技术生成

一、ATM32F芯片的地址与寄存器原理

1、什么是寄存器

寄存器是中央处理器内的组成部分,是有限存贮容量的高速存贮部件,可用来暂存指令、数据和地址。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。在计算机领域,寄存器是CPU内部的元件,包括通用寄存器、专用寄存器和控制寄存器。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,寄存器有累加器。寄存器通常都用来意指由一个指令之输出或输入可以直接索引到的暂存器群组。更适当的是称他们为“架构寄存器”。

2、STM32寄存器的映射原理

在这里插入图片描述

3、STM32 的外设地址映射

片上外设区分为三条总线,根据外设速度的不同,不同总线挂载着不同的外设,APB1挂载低速外设,APB2 和AHB 挂载高速外设。相应总线的最低地址我们称为该总线的基地址,总线基地址也是挂载在该总线上的首个外设的地址。其中APB1 总线的地址最低,片上外设从这里开始,也叫外设基地址。

  1. 总线基地址

在这里插入图片描述

4、 外设基地址

总线上挂载着各种外设,这些外设也有自己的地址范围,特定外设的首个地址称为“XX 外设基地址”,也叫XX 外设的边界地址。具体有关STM32F10xx 外设的边界地址请参考《STM32F10xx 参考手册》的2.3 小节的存储器映射的表1:STM32F10xx 寄存器边界地址。
在这里插入图片描述

这里面我们以GPIO 这个外设来讲解外设的基地址,GPIO 属于高速的外设 ,挂载到APB2 总线上。

5、外设寄存器

在XX 外设的地址范围内,分布着的就是该外设的寄存器。以GPIO 外设为例,GPIO是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,**基本功能是控制引脚输出高电平或者低电平。**最简单的应用就是把GPIO 的引脚连接到LED 灯的阴极,LED 灯的阳极接电源,然后通过STM32 控制该引脚的电平,从而实现控制LED 灯的亮灭。

GPIO 有很多个寄存器,每一个都有特定的功能。每个寄存器为32bit,占四个字节,在该外设的基地址上按照顺序排列,寄存器的位置都以相对该外设基地址的偏移地址来描述。这里我们以GPIOB 端口为例,来说明GPIO都有哪些寄存器。
在这里插入图片描述

有关外设的寄存器说明可参考《STM32F10xx 参考手册》中具体章节的寄存器描述部分,在编程的时候我们需要反复的查阅外设的寄存器说明。

二、GPIO端口的初始化设置

1、GPIO寄存器介绍

①名称

寄存器说明中首先列出了该寄存器中的名称,“(GPIOx_BSRR)(x=A…E)”这段的意思是该寄存器名为“GPIOx_BSRR”其中的“x”可以为A-E,也就是说这个寄存器说明适用于GPIOA、GPIOB 至GPIOE,这些GPIO端口都

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值