我移植正点原子的模拟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.
一直很郁闷,不知道问题到底出在哪里?请帮忙分析一下。谢谢。
---------------------------------
请问一下 我也出现了temp=0xff 的情况 请问多了那个ACK
多的是在>24C16这个if的最后,会有个ACK,实际是不需要的。
---------------------------------
你还没有修改完毕!!有个.h文件。。。
---------------------------------
原子的驱动可以支持64的。。你看看是不是硬件的问题。
一周热门 更多>