1,起始信号和终止信号为什么不同?
起始信号和终止信号是两个信号,两个信号当然就不一样了,如下:
起始信号:scl 高电平,sda 产生一个下降沿
终止信号:scl 高电平,sda 产生一个上升沿
这是两个信号,本来就是不一样的
2,为什么协议是4.7,实际延时 4 仍然会工作?
4.7 us 是个协议要求的最小时间,4.7 你要理解成:
大于等于 4.7 一定不会出问题好好工作,但是小于4.7就一定会出问题么?不一定的,实际上高速器件相应很快的。
反过来从器件厂商角度去考虑这个 4.7 ,厂商为了器件容忍度更好,肯定希望他远小于 4.7 仍能正常工作,不会把这个时间做到临界正好是 4.7,因为如果软件稍不注意小于4.7 那器件就不能用,或者电路波形稍微出点问题,就不稳定,都不是器件厂商希望看到的。所以并不是说小于 4.7 就一定会挂掉。
3,你写 iic 协议时候,当然是要保证大于 4.7 符合 iic 协议,也能更好的兼容所有 iic 器件通信,但是你写 4.0,自己写的协议不规范,器件仍然能工作,你不能赖器件做的这么优秀呀,对吧