本帖最后由 XXDJ 于 2016-7-8 16:00 编辑
有款产品用到了SOT23-5封装的AT24C04C,程序使用的是ALIENTEK STM32F407开发板的24Cxx.C,模拟IIC,AT24C01至AT24C256通用。
一开始用的是SOT23-5封装的AT24C01C,程序工作正常,后来因为要保存的参数太多,要更多空间的EEPROM,就使用了SOT23-5封装的AT24C04C。
问题来了,换上SOT23-5封装的AT24C04C后开机, AT24CXX_Check()过不去(相应的会把检查地址换为511,也用过其他小于511的地址),也就是说24C04自检不过。将AT24CXX_Check()注释掉,调试发现,读出来的都是0xFF,不能往24C04C写数据。将SOT23-5封装的AT24C01C换回去,程序正常。
后来用SO-8封装的AT24C04C来替换SOT23-5封装的AT24C04C,用飞线连接SO-8的功能脚,程序也正常跑,能读能写。
换了十几个SOT23-5封装的AT24C04C,只有1个能正常工作。
IIC的两个上拉电阻换过不同的阻值,都不行。硬件上应该没有什么问题,AT24C01C和SO-8的AT24C04C都能用,SO-8的AT24C04C还是飞线连接。
大家分析分析,可能是什么原因造成的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>