看了一下
STM32的库,对于其中的关于硬件的特殊功能寄存器的设置都是通过:1、定义一个和实际硬件地址相镜像的全局结构体变量。
2、设置结构体的各个变量相对应的参数。
3、把结构体整体复制到硬件特殊功能寄存器。
个人理解,当结构体定义的时候编译器给它分配空间,且这个为全局变量一直占用RAM空间,即使初始化后也一直占用空间,编译器也不会回收其空间。到最后其实有一份硬件特殊功能寄存器的镜像一直占用着RAM。
而以前弄51,AVR,PIC的时候硬件特殊功能寄存器都是一个一个设置。
请教一下这两个方法各有什么有点和缺点。