原创 在PIC24中使用Flash模拟EEPROM

2009-5-12 09:37 2785 4 3 分类: MCU/ 嵌入式

在很多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


转自:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en538000

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条