stm32单片机有特殊功能寄存器吗

stm32单片机有类似51单片机的特殊功能寄存器吗?


STM32的库,对于其中的关于硬件的特殊功能寄存器的设置都是通过:
1、定义一个和实际硬件地址相镜像的全局结构体变量。
2、设置结构体的各个变量相对应的参数。
3、把结构体整体复制到硬件特殊功能寄存器。
当结构体定义的时候编译器给它分配空间,且这个为全局变量一直占用RAM空间,即使初始化后也一直占用空间,编译器也不会回收其空间。到最后其实有一份硬件特殊功能寄存器的镜像一直占用着RAM。
而以前弄51,AVR,PIC的时候硬件特殊功能寄存器都是一个一个设置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-29
你操作这个寄存器地址(即你所说的寄存器映像)就和操作寄存器是一样的,在stm32里,每个寄存器都有映像,我们可以把映像当做是真正的寄存器用就行,stm32内部自动会帮你处理(映像和真正的本体之间的操作)
就好像,你要通过atm机存钱在银行,atm机就好比银行的映像,你只管操作atm机就行(比喻可能不是太贴切,领会意思即可)
第2个回答  2022-07-20
答案是肯定的。你可以自己用sfr sbit来试一下
但是 STM32 因为寄存器太多太多,如果一一以这样的方式列出来,那要好大的篇幅,既不方便开发,也显得太杂乱无序的感觉。所以 MDK 采用的方式是通过结构体来将寄存器组织在一起
相似回答