关于新华龙单片机flash存储非易失性数据的问题
发布网友
发布时间:2022-04-28 15:36
我来回答
共1个回答
热心网友
时间:2022-06-19 11:30
你用的是C8051F系列单片机吧,如果这些数据连续反复写入,我建议你扩充一个串行外部数据EEPROM,因为内部FLASH写入寿命的*。
FLASH是按页进行存储,所以要按页进行定义,定义方法如下:
//类型定义
typedef union {
long l;
unsigned char A[4];
}LONG;
typedef unsigned int FLADDR;
//fLASH 数据区定义
LONG DATA_PAGE[128] _at_ 0x1800; // 页绝对地址
char code SCRATCH_PAGE[512] _at_ 0x1A00; // 页绝对地址
这是我做的项目中用flash中存放数据,程序中定义存放数据区的定义。我也是将AD转换计算后的数据保存在flash里面。
因为后期擦除、均按页进行。所以写入时要注意,原来需保留数据的处理。