我用16F73的两个脚模拟I2C总线,读写24LC512。虽然现在已经读写成功,但在编写代码的过程中遇到了一些疑惑,想在这里听听一下大家的看法。 1.在空闲时候,SCL脚的信号应该置成高电平,还是低电平? 我在网上下了几个例子,在停止位发出以后,有的例子中SCL为高电平,有的例子是低电平。 空闲时段SCL的电平,我觉得应该置为低电平,如果是高,SDA脚要是有个电平变化,岂不是给24LC512一个错误的信号。 2.有的例子中,在起始位、发送字节、停止位这些操作中,都刻意在操作的结尾部分将SCL置为低电平,有没有这种必要? 我觉得在没有必要每次操作刻意将SCL置低电平,要说需要的话,在停止位操作的结尾部分将SCL置低即可 3.使用PIC单片机,SDA脚涉及到输入输出方向的切换。切换的时刻是不是有讲究,要在置SCL为低的之后,才能切换方向? |