新闻  |   论坛  |   博客  |   在线研讨会
在PIC24中使用Flash模拟EEPROM
0750long | 2009-05-13 08:41:09    阅读:3435   发布文章

在PIC24中使用Flash模拟EEPROM

 

在很多PIC24单片机中,没有EEPROM,无法保存用户参数。不过PIC24支持自编程技术,这样可以利用Flash模拟EEPROM。Microchip提供了这样的一个软件库,可以很方便的实现这个功能。软件的使用方法很简单,最基本只需要3个子函数:

DataEEInit(void);
unsigned int DataEERead(unsigned int addr);
unsigned char DataEEWrite(unsigned int data, unsigned int addr);

先调用DataEEInit进行初始化,然后使用DataEERead读取数据,或者DataEEWrite写入数据。

一个简单的例子:

int main(void)
{
    unsigned char value
;
    unsigned char DEEdata = 25
;
    unsigned int DEEaddr1 = 4, DEEaddr2 = 255, DEEaddr3 = 302
;

    DataEEInit
();
    dataEEFlags.val = 0
;

    DataEEWrite(DEEdata,DEEaddr1
);
    value = DataEERead(DEEaddr1
);
    Nop
();
    DataEEWrite(DEEdata*2,DEEaddr2
);
    value = DataEERead(DEEaddr2
);
    Nop
();
    DataEEWrite(DEEdata*3,DEEaddr3
);
    value = DataEERead(DEEaddr3
);
    Nop();
   
    
return(0
);
}

因为Flash的工艺和EEPROM的不同,所以Flash的擦写次数和数据保存时间是比EEPROM少很多的。为了避免反复对同一个区域擦写造成对FLash寿命的影响,软件库会自动写入不同的Flash位置。具体的可以参考附件中的AN1095

 

zip 180K, Emulating Data EEPROM 1.1.1

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客