原子的模拟IIC驱动24c64读取数据一直是0xFF

2019-07-20 23:16发布

 我移植正点原子的模拟IIC程序之后,根据我的硬件做了如下修改:
1、修改头文件的宏定义为“#define EE_TYPE AT24C64”驱动24c64,
2、配置PA0为SCL,  A1为SDA.
3、修改初始化以及头文件里面的输入输出为PA0和PA1.

在main()中依然添加此函数:
u8 AT24CXX_Check(void)
{
u8 temp;
temp=AT24CXX_ReadOneByte(255);//避免每次开机都写AT24CXX    
if(temp==0X55)return 0;    
else//排除第一次初始化的情况
{
AT24CXX_WriteOneByte(255,0X55);
    temp=AT24CXX_ReadOneByte(255);   
if(temp==0X55)return 0;
}
return 1;   
}

我仿真进入此函数之后,每次读出来的temp=0xFF.
一直很郁闷,不知道问题到底出在哪里?请帮忙分析一下。谢谢。 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
小罗洛克
1楼-- · 2019-07-23 17:02
 精彩回答 2  元偷偷看……
小罗洛克
2楼-- · 2019-07-23 21:32
回复【20楼】正点原子:
---------------------------------
原子哥解释好清晰,我得代码也是直接修改你的,可是不知道为什么读出来的都是0XFF,原子哥,请教你一下,可能出现问题在哪里?
正点原子
3楼-- · 2019-07-24 03:02
回复【21楼】小罗洛克:
---------------------------------
这就难说了
可能硬件电路问题?软件问题?芯片问题?
波波152
4楼-- · 2019-07-24 09:02
我的也是这样的问题啊,读出来的是0XFF,这是怎么回事????
lison0103
5楼-- · 2019-07-24 11:02
 精彩回答 2  元偷偷看……
lophost
6楼-- · 2019-07-24 11:38
 精彩回答 2  元偷偷看……

一周热门 更多>