51 单片机 I2C 通信协议中 应答信号中提到,第9个主机输高电平,从机输低电平代表应答,主机与从机SDA按
说是联在一起的,如主机的SCL和从机的SCL;SDA和SDA,那么同一根线上怎么可能出现一头是高电平,另一头是低电平。、。。到底是怎么回事、?、跪求答案。...
说是联在一起的,如主机的SCL和从机的SCL; SDA和SDA,那么同一根线上怎么可能出现 一头是高电平,另一头是低电平。、。。到底是怎么回事、?、跪求答案。
展开
2个回答
展开全部
答案是:因为说的不是一条线上的高低电平。你若想不通应答信号,你可以思考一下起始信号和停止信号,都是将SCL拉高,然后在SDA上变化电压来发出不同命令,IIC通信协议明确规定,当SCL为高时,数据要求绝对稳定,只有在SCL为低时数据才可以变化,也就是才能开始传递数据,为什么要求SCL为高时数据稳定,就是因为这时SDA上代表的是命令而不是数据。所以你的问题就很好解决了,应答信号是命令,所以把SCL拉高,准备接收命令,这时SDA的一个低电平就代表应答了。不懂的可随时回复我。
希望我的回答能帮助到你。
希望我的回答能帮助到你。
追问
是否可以这样理解 ,当8位数据发完后,发数据的主机把SDA像开关一样打到高电位,算后不在控制SDA这条线了,如果从机发来一个低跳变,那么可认为是在次收到一个起始信号,然后接着发。同一时间时 刚开始的1u秒 ,SDA是高,然后2-5u秒内 变成低电平,可认为是收到应答信号???
追答
在多次传输数据中可以这么理解,但也只是理解而已,这样想在传输过程上没错,但是在单个数据传输中就不能这样了,因为应答和起始本来就不一样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询