看了一下STM32的库,对于其中的关于硬件的特殊功能寄存器的设置都是通过:1、定义一个和实际硬件地址相镜像的全局结构体变量。 2、设置结构体的各个变量相对应的参数。 3、把结构体整体复制到硬件特殊功能寄存器。 个人理解,当结构体定义的时候编译器给它分配空间,且这个为全局变量一直占用RAM空间,即使初始化后也一直占用空间,编译器也不会回收其空间。到最后其实有一份硬件特殊功能寄存器的镜像一直占用着RAM。 而以前弄51,AVR,PIC的时候硬件特殊功能寄存器都是一个一个设置。 请教一下这两个方法各有什么有点和缺点。 个人感觉: 第一个方法 缺点:RAM来说是一直浪费的,优点:还没发现。 第二个方法 缺点:以前51,avr,pic都可以用没发现什么问题,优点:直接设置寄存器,省RAM 不知道我理解的对不对,为什么STM32的库里面要采用第一个方法???请各位大人解答一下!!! 出处:tsb0574 |
RE:硬件特殊功能寄存器编程思路和RAM使用的问题?请各位大人解答!