[应用相关] 单片机内部的通用寄存器和内部RAM有什么区别啊

[复制链接]
951|8
 楼主| androidbus 发表于 2016-12-15 20:13 | 显示全部楼层 |阅读模式
单片机内部的通用寄存器和内部RAM有什么区别???
litengg 发表于 2016-12-15 20:19 | 显示全部楼层
说到底就是效率,最高的是ACC(但有些MCU没有这个),其次是寄存器(比如R0),再其次是RAM(有些MCU分的很细,比如51)
qiangweii 发表于 2016-12-15 20:20 | 显示全部楼层
ACC,R0这些都公用资源,大家都可以用,一般也必须要用,如果用C写程序,一般可以不考虑ACC,R0的用法,这是编译器的事。
shashaa 发表于 2016-12-15 20:26 | 显示全部楼层
如果用汇编,对ACC,R0的使用就是体现功力了,比较好的方法就是参照编译器对ACC,R0使用原则。。
xia00 发表于 2016-12-15 20:27 | 显示全部楼层
静态变量在各个任务切换时保存不变,也就是说静态变量不管执行的是那段程序,都在RAM里占据一个位置。
hfdy01 发表于 2016-12-15 20:34 | 显示全部楼层
任务切换当然只需要保存公用资源。。
feiqi1 发表于 2016-12-15 20:35 | 显示全部楼层
要是定义的过多的外部变量,超过了RAM的范围,编译器能检查出来吗?
CallReceiver 发表于 2016-12-15 20:45 | 显示全部楼层

堆栈用的就是RAM,如果你定义变量过多,那你程序里面堆栈空间就很少
boy1990 发表于 2016-12-15 20:45 | 显示全部楼层
RAM就是内部运行的存储。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

1708

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
0