初级会员

- 积分
- 81
- 金钱
- 81
- 注册时间
- 2015-1-4
- 在线时间
- 0 小时
|

楼主 |
发表于 2015-5-12 07:43:28
|
显示全部楼层
回复【5楼】八度空间:
---------------------------------
您好啊。能不能把您这个程序的工程文件上传一下啊。因为我工程里没有上面对应的函数。麻烦您了。比如“Check_Data”对应的是什么都不知道。
我把检测能否工作程序改成这样的,不知道有没有问题(因为没有您上面程序所提到的函数只能这样改),麻烦你看一下。谢谢。。。
u8 EEPROM_Check(u16 driveaddr)
{
u8 test_value = 0;
test_value = AT24CXX_ReadOneByte(driveaddr); //指定地址读入一个字节
if(test_value == 0X55) //
{
return 0; //
}
else
{ //EEPROM?????????è????????????×÷
test_value = 0;
AT24CXX_WriteOneByte(driveaddr, 0X55); //指定地址写入一个字节
for(test_value = 0;test_value < 250;test_value++) {} //延时
test_value = AT24CXX_ReadOneByte(driveaddr); //指定地址读入一个字节
if(test_value != 0X55) return 1; //????????????
}
return 0; //EEPROM??
}
下面是主函数中关于24C02检测函数的调用
while(EEPROM_Check(0x00))//?ì??????24c02
{
LCD_ShowString(60,150,200,16,16,"24C02 Check Failed!");
delay_ms(500);
LCD_ShowString(60,150,200,16,16,"Please Check! ");
delay_ms(500);
LED0=!LED0;//DS0????
}
可是还是报错了。是不是芯片有问题啊?但是我是刚买的24C02啊。
|
|