大学生
最后登录1970-1-1
在线时间 小时
注册时间2016-3-21
|
最近在学习EEPROM,照着火哥的代码敲得,使用的是模拟I2C读写24C02的程序,烧写进去之后一切正常。
后来我有做了修改,既然数据0xAA已经烧入EEPROM了,那么我不使用写数据,只是单纯的读数据,应该可以读出0xAA,于是做了如下修改:
void ee_Test2(void)
{
uint16_t i;
//uint8_t write_buf[macEE_SIZE];
uint8_t read_buf[macEE_SIZE];
/*-------------------------------------------------------------------------------*/
// if(ee_CheckOk()==0)
// {
// /*没有检测到EEPROM*/
// printf("没有检测到串行EEPROM!\r\n");
//
// while(1); /*停机*/
// }
///*--------------------------------------------------------------------------------*/
// /*填充测试缓冲区*/
// for(i=0;i<macEE_SIZE;i++)
// {
// write_buf=0xAA;
// }
///*--------------------------------------------------------------------------------*/
// if(ee_WriteBytes(write_buf,0,macEE_SIZE)==0)
// {
// printf("写eeprom出错!r\n");
// return;
// }
// else
// {
// printf("写eeprom成功!\r\n");
// }
/*写完之后需要适当的延时再去读,不然会出错*/
ee_Delay(0x0FFFFF);
/*--------------------------------------------------------------------------------*/
if(ee_ReadBytes(read_buf,0,macEE_SIZE)==0)
{
printf("读eeprom出错!\r\n");
return;
}
else
{
printf("读eeprom成功,数据如下:\r\n");
}
/*-----------------------------------------------------------------------------------*/
for(i=0;i<macEE_SIZE;i++)
{
// if(read_buf!=write_buf)
// {
// printf("0x%02X",read_buf);
// printf("错误:EEPROM读出与写入的数据不一致");
// return ;
// }
printf("%02X ",read_buf);
if((i&15)==15)
{
printf("\r\n");
}
}
printf("eeprom读写测试成功\r\n");
while(1);
}
但是读取的数据并没有读取出任何数据,结果如下图:
|
|