前面加 const 即可,比如const unsigned char code shuzu[6]={0,1,2,3,4,5},定义到flash,只能读,不能写。
如果不加const,就是定义到ram中,可读写。
看二维数组大小,小的话加上code后,数组中的数不能改变,不加code的话只有128字节的空间,最多能定义128个char的变量,data空间不够用的话可以用Idata和Xdata,在数组前加上Idata或Xdata,例如unsigned char xdata shuzu[100],data区中的变量访问速度最快,Idata和Xdata中的变量访问较慢。说的如有错误还望谅解
这个驱动程序是对单片机本身的flash操作,还是对外扩的flash操作呢
开发工具 为Keil ,单片机为 C8051
对于单个变量,可以用_at_来定位,如:char code 变量名 _at_ FLASH的地址。 数组也可以 如:unsigned char code table1[512] _at_ 0x400。
对于单个变量,可以用_at_来定位,如:char code 变量名 _at_ FLASH的地址。
数组也可以 如:unsigned char code table1[512] _at_ 0x400。
就是程序运行的时候可以存储数据,读写数据,删除数据。断点再开机的时候这些数据还在能读写就好