单片机/MCU论坛
直播中

李巍

7年用户 1421经验值
私信 关注
[问答]

用IIC实现与at24c32通信,代码一直卡在检测at24c32部分的原因?

//检查AT24CXX是否正常
//这里用了24XX的最后一个地址来存储标志字.24C02是25524C512是65535 24C512是65535
//如果用其他24C系列这个地址要修改
//返回1:检测失败
//返回0:检测成功
u8 AT24CXX_Check(void)
{
                 u8 temp;
                 temp=AT24CXX_ReadOneByte(4095);//避免每次开机都写AT24CXX
                 if(temp==0X55)
                                 return 0;
                 else//排除第一次初始化的情况
                 {
                                 AT24CXX_WriteOneByte(40950X55);
                                 temp=AT24CXX_ReadOneByte(4095);
                                 if(temp==0X55)
                                                 return 0;
                 }
                 return 1;
}

回帖(1)

史岩超

2023-10-7 09:47:16
看一下IIC线上的时序吧,看芯片有没有响应你的命令。
IIC要上拉电阻的,电路上有没有上拉
是硬件IIC还是模拟的,模拟的,看一下信号的延时时间
举报

更多回帖

发帖
×
20
完善资料,
赚取积分