单片机内部存储分为三块
以AVR1280为例,该单片机内部存储有三个部分:
1、内存RAM,运行程序时,将指令和变量拷贝至RAM,运行程序;
2、FLASH,高级的单片机,可将程序存储在此处;
3、EEPROM,一般单片机都将程序存放在此处。
有时候,我们的代码过大,为了避免给RAM造成压力,我们定义数组、变量等可定义存储在EEPROM或者FLASH中,这就给RAM节省了空间。
可以将变量存储于flash为例,可定义变量为:
char __flash test[]="save in flash...";
此时test数组存在于flash中,且test数组值不能更改,相当于常量定义const。
在其他种类单片机中,相应的关键字可能不同于__flash。