阅读:1377回复:4
I/O模拟I2C
我用8255的PC0设置成为SDA,PC4设置为SCL,设置8255的工作字SDA输出为0x81,SDA输入为0x80,PC4产生时钟信号。不知道这样是否可以,因为我在使用TMP100时(TMP100使用I2C),用这种方法没有成功,不知那位高手可以指点!
|
|
沙发#
发布于:2002-11-16 19:05
仔细研究一下i2c的协议,特别是时序,一定要保证脉冲宽度足够,一般应该没问题
|
|
板凳#
发布于:2002-11-16 22:33
应该是集电级(或漏级开路)开路输出,这样不行.
|
|
|
地板#
发布于:2002-11-18 09:13
条件1 SDA口必须可以设置成输出口和输入口, 如果是漏极开路,则输出高电平时可以作为输入口看待.
条件2 时序正确,并要保证时序中电平宽度,给出I2C器件足够的响应时间 条件3 电平正确,5V的 I2C器件不要用3.3V的器件去做IO口 |
|
|
地下室#
发布于:2004-09-19 17:35
我做的模拟程序读I2C的时候,一次读正常,一次读失败,反复出现,很“稳定”,失败的原因是没有收到ack信号,哪位大侠知道怎么回事?
|
|