单片机芯片中的RAM与flash到底有什么作用 |
您所在的位置:网站首页 › 片内flash程序存储器 › 单片机芯片中的RAM与flash到底有什么作用 |
简要总结:在单片机中RAM是存变量以及变量的运算的地方,flash是存程序的地方。 存储器分类 关于存储器的类型,在网上多种多样,同一存储器名字也有多种叫法,使初学者苦不堪言,同时为了方便读者理解,以下是具体分类。
概念 (1)RAM 掉电数据丢失,但运行快,正是因为运行快,所以程序中变化的数据都会在RAM中变化,变量也存储在里面。 (2)flash 运行慢,但掉电数据不丢失,正是因为掉电不丢失,所以写好的程序会存在flash里面。 举例 举一个例子说明 51单片机点亮的程序, while(1);的作用:只执行一次led1=0;,然后一直执行空语句。(不是重点) 可以看到红色框框内有data xdata code,data与xdata表示的都是变量的大小,data存储是内部RAM,xdata存储在外部RAM,code就是程序大小。 当前为 也就是变量的大小为9个字节,程序有19个字节。 (只改变code的大小) 当去掉while(1);这段代码,再进行编译。 可以看到 data没有变,而code从19变成了18,也就是程序大小变小了。 (只改变data的大小) 在上图的代码基础上加一行代码。char a; 可以看到data=10.0,从9变成了10,同时我们知道char型变量占一个字节,理论上data的大小也该加一,事实上也是如此。 详细见https://www.bilibili.com/video/BV1eJ41187Tn/?spm_id_from=333.788 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |