MSP430 I2C通讯的疑问

2019-03-24 08:34发布

本帖最后由 尘埃未定 于 2014-12-12 23:20 编辑

大家好:
        我最近在做亮片MSP430之间的I2C通讯,一个做主机从从机读取数据,使用MSP430自带的P1.6,P1.7口分别做SCL和SDA,使用MSP430自带的I2C接口功能,能够完成通讯,但是如果主机使用IO口模拟I2C通讯,发现作为从机的MSP430对地址没有应答,奇怪的是竟然连主机产生的最后一个SCL脉冲也消失了;但是如果主机向从机写数据,从机对地址就有相应,求高手解答,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
易兮水
2019-03-26 11:04
我没仔细看你的程序,之前我在写SPI和IIC的时候遇到些问题,我也是用示波器查看波形,从机也是没有反应,我把我的心得发给你看下!

IIC写字节:第八个下降沿脉冲后,(可以再次将数据线拉高,即释放数据线,该步骤可以省略),SDA的IO口改为输入,ACK应答信号传递,将数据线拉低(反应速度很快),第九个下降沿脉冲后,数据线再次释放。至此,完成一次单字节数据写入过程。
IIC读字节:之前为写入“读地址操作”,第八个下降沿脉冲后,数据线拉高,释放数据线,SDA的IO口改为输入,ACK应答信号传递,第九个下降沿脉冲后,第一个数据位已经接收到!!此时将数据线改为默认设置——输出。然后进入“读字节”函数,SDA的IO口改为输入,再下一个下降沿脉冲来临之前先读取数据

看到没有??读字节跟写字节是有变化的!我也是后来通讯成功的时候发现数据不对头,另一个研发告诉我,数据已经收到了,只是我没有发现。你看看,是不是你的问题。

一周热门 更多>

相关问题

    相关文章