I2C读at24c512读出FF请教下是什么原因

直接这么问是看不出问题的必須接示波器。

首先观察是否ACK返回正常如果不正常,那可能是延时哪个地方没做好还得看波形,哪个地方时序有问题就改哪里

如果数據部分波形没问题,却没ACK返回就可能是硬件问题,线接反了或者上拉电阻阻值有问题。

你对这个回答的评价是

下载百度知道APP,抢鲜體验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

需要移植AT24C512的驱动做了一下几种實验:

2.移植了i2c-tools-3.1.0.tar.bz2,原以为这个能很方便的操作I2C器件,结果令我大失所望i2cset一个值,i2cget出来的却不对不知是何缘故,故放弃了

3.看来还是要写驱動了,我将板子上的AT24C512换成了AT24C02取消第一项中打开的项目,重新烧录内核 在i2c_prob函数中添加了测试代码,即写一个寄存器然后读它的值,insmod at24c02.ko后發现能正确读写了

4.将AT24C02换成AT24C512,修改刚刚OK的驱动为AT24C512修改内核BROAD_INFO,烧录,再insmod at24c512.KO 却不能正确读写了原来关键是AT24C02的内部地址是1字节的,而AT24C512的内部地址昰2字节的就是在发送地址这块出问题了,所以不能正确读取数据

下面是读写AT24C02的正确方法:

}
身份认证VIP会员低至7折

一个资源只鈳评论一次评论内容不能少于5个字

基本的有说道,要是有实例就更好了

您会向同学/朋友/同事推荐我们的CSDN下载吗

谢谢参与!您的真实评价是我们改进的动力~

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信