在线时间13 小时
UID212138
注册时间2008-5-25
NXP金币0
TA的每日心情 | 奋斗 2019-6-9 17:24 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
注册会员

- 积分
- 178
- 最后登录
- 2019-7-18
|
本帖最后由 FSL_TICS_ZP 于 2014-11-27 14:56 编辑
代码如下:问题见红色字体描述。
#define EepromStartAddress 0x0400
#define EepromEndAddress 0x0BFF
FCNFG =0X03; /*Force Double Bit Fault Detect*/
unsigned char g_uint8_EepGetByte(unsigned int b_u16_EepAddress)
{
unsigned char ReturnData,test;
if (b_u16_EepAddress<EepromStartAddress || b_u16_EepAddress>=EepromEndAddress ) {
return 0;
}
if(!FSTAT_CCIF) { // Is reading from EEPROM possible?
return 0; // If no then error
}
ReturnData=(*(unsigned char volatile*)b_u16_EepAddress);
asm("nop");
asm("nop");
asm("nop");
asm("nop");
test = FERSTAT;
if(FERSTAT&0x03)
{/*为什么每次读完检测ECC都有故障,查看读出数据有是正常地,请高手指教*/
FERSTAT |= 0x03;
return 0;
}
else
{
return ReturnData;
}
}
|
|
|