STM8内部EEPROM的使用
扫描二维码
随时随地手机看文章
@eepromu8save[10]={5,4,3};//大括号内为初始值,初始值只在仿真器仿真时才会起作用
u8*pSave=(u8*)&save[0];//对EEPROM数据区进行写操作时必须使用指针访问
voidmain()
{
do
{
FLASH_Unlock(FLASH_MEMTYPE_DATA);
}while((FLASH->IAPSR&FLASH_IAPSR_DUL)==0);//等待DATAEEPROM区解锁
*pSave=*pSave+1;
//save[0]=save[0]+1;//对EEPROM数据区进行写操作时不能使用直接访问,仅可用地址间接访问,原因:可以比较和上面一句的汇编代码
while((FLASH->IAPSR&FLASH_IAPSR_EOP)==0);//等待数据写入完成,本句是必须的,且必须放在写EEPROM数据操作之后
}
网上找到的参考资料:
EEPROM是单片机应用系统中经常会用到的存储器,它主要用来保存一些掉电后需要保持不变的数据。在以前的单片机系统中,通常都是在单片机外面再扩充一个EEPROM芯片,这种方法除了增加成本外,也降低了可靠性。现在,很多单片机的公司都推出了集成有小容量EEPROM的单片机,这样就方便了使用,降低了成本,提高了可靠性。
STM8单片机芯片内部也集成有EEPROM,容量从640字节到2K字节。最为特色的是,在STM8单片机中,对EEPROM的访问就象常规的RAM一样,非常方便。EEPROM的地址空间与内存是统一编址的,地址从004000H开始,大小根据不同的芯片