STM32F103的外设寄存器是真实存在的吗?在哪里?想看看详细的结构图

由于工作关系刚开始接触STM32的芯片,对通过“配置寄存器操作外设”的描述很不理解,比如GPIO的寄存器有7个,包括什么端口输入寄存器、输出寄存器、位设置/清除寄存器等等,这么多寄存器他们到底在哪里?又如何映射进Cotex的内核?有没有芯片的拆解图可以看看他们,,刚入坑就遇到这么烧脑的问题实在是睡不着,求指点,感激不尽!

楼上说的对 把他当成RAM看就行,只是他们有固定的地址

比如你说的GPIO的寄存器,这里具体芯片的datasheet中的memory map章节介绍了各个外设的寄存器的基址

img

参考手册中介绍了具体每个模块的功能,配置方法,模块中各个寄存器的偏移

img

STM32的文档说明:

  1. 参考手册:介绍了各个模块的原理,寄存器的每个bit位的功能说明
  2. 数据手册:介绍了具体芯片的电气特性,封装信息,管脚复用功能,此芯片所具有的模块说明

软件库(SDK)说明:

  1. HAL库和LL库: 可以使用STM32cubeMX进行配置初始化代码,其中使用的就是此库
  2. 标准库:现在应该不维护了,比较老的库,网上的很多源代码都是基于此库写的

他们就是一些特殊的ram,但仍是RAM,和普通RAM差别就是他们连接到了硬件

它的物理结构你可以参考51机,那个比较简单容易理解,其值是连接到一些硬件电路上,所以你写0写1进去对外输出会不一样