程序操作Flash功能当EEPROM是否可行
看到海尔的7P系列芯片有程序操作Flash的功能,请教小海该功能能否当成E2用?使用时有什么要注意的地方,换句话就是跟使用E2有什么区别 7P系统 193,194,195都支持 Flash 自擦写的。配置字里FR_EN 需要打开。很多产品项目中都用到这个功能,用下来都蛮好的。
唯一让我不爽的就是程序里的ROM地址是15位的,用烧录器读ROM内容,显示是8位地址显示。需要自己对应一下。
还有就是程序代码空间不要与存储的位置重叠,不然写操作一下,程序就死机了。 海尔单片机FLASH存储器可以替换EEPROM使用,使用注意事项:
1、FLASH读写操作功能一定要把配置字的FREN(FLASH读写擦除使能位打开)。
2、FLASH写之前一定要先执行擦除操作,由于FLASH工艺的原因,FLASH擦除只支持页擦除(每页128个WORDS),在执行擦除过程中主频需要暂停20ms。
这样客户在对FLASH写数据的时间点选择上需要考虑到主频暂停20ms的特点(在主频暂停期间IO口状态保持不变,和主频相关的外围模块会暂停)。 本帖最后由 int3 于 2013-6-24 17:26 编辑
//****************************************Copyright (c)**************************************************
//** 海尔7P系列EEPROM程序
//** INT3
//** QQ:263132814
//**--------------文件信息-------------------------------------------------------------------
#define nop() __Asmnop
#define nop8() nop();nop();nop();nop();nop();nop();nop();nop()
//********************************************
//写ROM:将DD写入DR对应的单元
////COM(0X8C擦除,0X84写),DR是地址,DD是数据
//********************************************
void write_eeprom(u8 com,u16 DR,u16 DD)
{
FRA=DR; //ROM单元地址
ROMD=DD; //数据
CLR_WDT(); //清看门狗
GIE_GIEH=0; //关中断
MTRG=0; //为了解决C编译平台的BANK切换
ROMCL=com; //命定
ROMCH=0x55; //
nop8(); //
ROMCH=0xAA; //
nop8(); //
MTRG=1; //开始启动
while(MTRG); //检测是否完成
ROMCH=0; //
CLR_WDT(); //
GIE_GIEH=1; //开中断
}
//********************************************
//读ROM,结果保存在ROMDH,ROMDL中
//********************************************
u16 read_eeprom(u16 DR)
{
FRA=DR; //ROM地址
ROMCL=0X81; //命定
while(MRTRG); //启动
return ROMD;
} 谢啦,2楼3楼4楼,用了一下,貌似还不错哦{:victory:}{:victory:} 做猩芯的程序猿 发表于 2013-6-26 22:52 static/image/common/back.gif
谢啦,2楼3楼4楼,用了一下,貌似还不错哦
一般FLash是有擦写次数的,注意读一下datasheet int3 发表于 2013-6-24 17:16 static/image/common/back.gif
//****************************************Copyright (c)******************************************** ...
都在谢谢里 mark 海尔单片机Flash用作EEPROM laujc 发表于 2013-6-26 23:30 static/image/common/back.gif
一般FLash是有擦写次数的,注意读一下datasheet
大概可擦写是多少次? 看规格书,一般是标称1000次 做猩芯的程序猿 发表于 2013-6-27 21:17 static/image/common/back.gif
大概可擦写是多少次?
海尔FLASH单片机擦写次数介绍:
全温度范围内可以实现的擦写次数至少为20000次。 内置EEPROM功能能简化电路设计,不错。 用软件实现,读-改-写回. 海尔_小海 发表于 2013-6-24 14:03 static/image/common/back.gif
海尔单片机FLASH存储器可以替换EEPROM使用,使用注意事项:
1、FLASH读写操作功能一定要把配置字的FREN(FLA ...
这个20ms,是否影响PWM,比如PWM刚好输出高电平,碰到这个时间,就一直高电平20ms,直到写完成? LDCH88 发表于 2013-7-2 16:52 static/image/common/back.gif
这个20ms,是否影响PWM,比如PWM刚好输出高电平,碰到这个时间,就一直高电平20ms,直到写完成? ...
会影响外围模块工作的,因为主频停振。所以PWM如果输出高电平,那么一直保持高电平直至FLASH擦除完成,恢复正常工作。
页:
[1]