本帖最后由 尘埃未定 于 2014-12-12 23:20 编辑
大家好:
我最近在做亮片MSP430之间的I2C通讯,一个做主机从从机读取数据,使用MSP430自带的P1.6,P1.7口分别做SCL和SDA,使用MSP430自带的I2C接口功能,能够完成通讯,但是如果主机使用IO口模拟I2C通讯,发现作为从机的MSP430对地址没有应答,奇怪的是竟然连主机产生的最后一个SCL脉冲也消失了;但是如果主机向从机写数据,从机对地址就有相应,求高手解答,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
作为I2C通信,你只发一个地址,然后不发数据有啥用呢?
I2C协议中,时钟由主机控制,总线空闲的时候你把时钟拉低了,那么从机即使有响应也无法发送过来。如果从机处于忙碌中无法响应主机的数据请求,那么从机会主动把时钟线拉低,,主机无法发送完整的时钟信号,于是I2C传输会暂停,这确保了I2C数据的完整性。
一周热门 更多>