2 初识STM32——寄存器

本文介绍了STM32的寄存器功能和STM32芯片的内部结构,包括存储器映射、系统架构、总线和C语言对寄存器的封装。通过实例解释了如何使用寄存器映射访问GPIO端口,为STM32单片机的初学者提供了基础知识。
摘要由CSDN通过智能技术生成

寄存器

 寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。
 补充1:触发器,在数字电路系统中的存储器,需要在同一时刻接收到一个脉冲(CLK)作为控制信号,只有CLK到来时电路才被触发产生动作,并根据输入型号改变输出状态。这种时钟型号触发的存储电路单元称为触发器,以区别没有时钟信号控制的锁存器。根据逻辑功能的不同特点,把触发器分为RS、JK、T、D等几种类型。
 补充2:锁存器,锁存器可以在特定的脉冲电平作用下改变状态,除此以外,电平状态保持不变。常见的用两个CMOS反向器组成的RS锁存器,R清0,S置1.

STM32芯片内部

在这里插入图片描述
 丝印表示产品的生产批号等,芯片丝印的字正对我们时,或者小圆点在左下角时,逆时针数,下面一排左边第一个为引脚1。识别清楚芯片正方向很重要,否则会烧毁芯片。

系统架构

STM32F10XX系统构架图狂徒框图在这里插入图片描述
左半部分为ARM设计得内核,右半边为ST设计的外设。

  • 红色部分为驱动单元——内核
    DCode总线——加载常量和调试访问
    DMA通过DMA总线读取数据,用来翻译数据
    System总线,主要用来读取寄存器(外设)
  • 灰色部分为被动单元——外设部分
    Flash用来存储指令
    SRAM用来存放变量
    FSMC用来驱动外存
    AHB-APB的总线,AHB挂载两个外设,一个是复位和时钟控制(RCC),另一个是SDIO。高速总线AHB通过桥接分成连个时钟总线,一个是低速总线APB1,挂载定时器(TIM2-7)等;另一个是高速APB2,连接了比如GPIO A-F,ADC 1-3 等
  • 黄色部分为ICode总线——内核读取Flash中的指令

存储器映射

  • 什么叫存储器映射?
     存储器本身不具有地址信息,它的地址是由芯片厂商或者用户分配,给存储器飞陪地址的过程就称为存储器映射。
序号 用途 地址范围
Block 0 Code-flash 0x0000 0000 ~ 0x1FFF FFFF(512MB)
Block 1 SRAM 0x2000 0000 ~ 0x3FFF FFFF(512MB)
Block 2 片上外设 0x4000 0000 ~ 0x5FFF FFFF(512MB)
Block 3 FSMC的blank1~blank2 0x6000 0000 ~ 0x7FFF FFFF(512MB)
Block 4 FSMC的blank3~blank4 0x8000 0000 ~ 0x9FFF FFFF(512MB)
Block 5 FSMC寄存器 0xA000 0000 ~ 0xBFFF FFFF(512MB)
Block 6 没有使用 0
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值