STM32
直播中

文甘翀

7年用户 941经验值
私信 关注
[问答]

硬件特殊功能寄存器编程思路和RAM使用的问题求解?

看了一下STM32的库,对于其中的关于硬件的特殊功能寄存器的设置都是通过:1、定义一个和实际硬件地址相镜像的全局结构体变量。
2、设置结构体的各个变量相对应的参数。
3、把结构体整体复制到硬件特殊功能寄存器。

个人理解,当结构体定义的时候编译器给它分配空间,且这个为全局变量一直占用RAM空间,即使初始化后也一直占用空间,编译器也不会回收其空间。到最后其实有一份硬件特殊功能寄存器的镜像一直占用着RAM。

而以前弄51,AVR,PIC的时候硬件特殊功能寄存器都是一个一个设置。

请教一下这两个方法各有什么有点和缺点。

回帖(1)

段丽

2024-5-18 15:34:09
不一定要分配全局变量,可以使用局部变量,用完了就可以释放了。还可以使用const常量,也不会长期占用RAM。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分