本帖最后由 bananarer 于 2011-6-30 14:08 编辑
1.版主能否提供一个针对79SH165类EEPROM的确定能用的操作代码?
不好意思,我这里真的是没有;你可以参考一下其他人的,差不多的。
2.我看了论坛上的某些代码,存储函数的形参为unsigned char idata的指针变量,现我要存储4个unsigned char变量和3个signed long变量,共16字节,怎么处理signed long这个问题?
signed long比较讨厌,可否用如下函数转换一下,然后存储
void main(void)
{
long i=-0x12ef5678;
unsigned char j,k,m,n;
long d;
j = (unsigned char) i;
k = (unsigned char) (i>>8);
m = (unsigned char) (i>>16);
n = (unsigned char) (i>>24);
d = (((unsigned long)n)<<24) | (((unsigned long)m)<<16) | (((unsigned long)k)<<8) | j;
while(1);
}
3.实际应该这个类EEPROM,版主有什么建议或者说我需要注意什么地方?
注意有几点
1)FLASHCON寄存器为1,操作EEPROM; FLASHCON寄存器为0,操作code 区域
2)每次EEPROM擦除后,才能将为0的bit 置1,如果要将为1的bit清0,则需要擦除整个SECTOR
3) 一定要在擦除,写入函数中加上软件标志位,判断你的擦除,写函数是否为正常的情况下进入的(不是跑飞掉进入),这样可以防止误擦写
|