|
我知道eeprom里面的内容在掉电之后不会被擦除这一点,但是我在用的时候就郁闷了:
for(j=0;j++;j<4)
K_F[j]=Coef_ReadFromEEprom(j);//这个函数用于每次上电时,从eeprom里读取之前已经存入的数据,下面的红字部分是函数定义。
if(K_F[0]==1.0)
RotBlink(1,10);//指示灯。。。
float Coef_ReadFromEEprom(uint8_t COE)//读
{
return eeprom_read_float (&EEpromCoef[COE]) ;//EEpromCoef[COE]) 是eeprom变量
}
K_F[]是一个数组,double 型,里面元素的初始值都是1.0。在程序的运行时,它们的值会被改变,不再等于1.0了,而且能够确认被写入了eeprom里面。
问题是:每次复位之后都应该会执行这一段读取代码,,读完之后再判断K_F是否等于1.0,结果是:灯亮了! 但是我用AVRtighter读出eeprom的时候看到又发现里面的内容并不等于1.0,有的是0.8多的样子!
很纳闷,难道读取函数没有被执行?难道在判断K_F[0]==1.0的时候会采取四舍五入的方式处理???
各位大侠,指点下吧,,,先谢谢了! |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|