emc单片机iic通讯中,读码不对!

来源:百度知道 编辑:UC知道 时间:2024/06/21 18:29:07
emc单片机与24lc02b的通讯过程中,读写2个字节,
写过程:start--传输10100000--check响应--传输00h地址--check--传输第一个字节---check响应---第二个字节---check---stop
读过程:start--传输10100000--check响应--传输00h地址--check--start---10100001---check响应位---接受第一个字节---ack响应---第二个字节---ack---stop
响应位都正确,而且读写直接我也加了40ms的延时。读出的数两个都是ff。请问有什么原因啊?
谢谢大家 问题我也解决了 。
但是还是有点小问题。因为我是读写两个字节数据,写两个是没有问题的。但是读出的时候只能读出第一个。第二个读出ff。写肯定是写进去了的。
最后实在没有办法 就来两次指定地址读,问题解决。
有朋友说是在连续读的过程
读过程:start--传输10100000--check响应--传输00h地址--check--start---10100001---check响应位---接受第一个字节---ack响应---第二个字节---ack---stop
也要在中间加个5ms左右的延时,但我问过24lc02的技术支持,他们说不用。我也没去试。到底是什么原因呢?谢谢大家

你的文字描写是看不出问题的
估计是你程序的问题,用什么单片机无关,你最好把程序帖出来,这样才能帮你分析

我觉得应该先测下硬件,起码要有CLK。 DATA可能不好分析,不过有没有数据还应该能看出来。 确定是发送问题还是接收问题。

EMC一般与程序无关,只与选择的器件的抗干扰性,辐射等有关,或者与你布板有关。程序自己慢慢该把

二楼理解错了,不是EMC试验,是EMC单片机

建议楼主把程序贴出来,大家一起分析

我的IIC接收也出现了同样的问题,收到的数据全是FF,不知道您是怎么解决的?