我的理解是、当 I2C 处于读取模式时、P0-P7都是输入、所有在写入模式下都是输出、我们无法配置 P0-P3输入、P4-P7输出等、对吧?
但在数据表9.2的典型应用中、
b. P0、P2和 P3配置为输出。
C. P1、P4和 P5配置为输入。
我们如何实现这一点?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好 Howard、
由于该器件没有方向控制、因此它始终使用 CMOS 推挽架构进行"驱动"。 接收器连接到同一条线路、将读取线路的实际状态、而不受器件设置为驱动的状态的影响。 这可以在数据表的图8.2.2中看到。 下面是一个简化版本、其中有一个连接到引脚的示例从器件:
请参阅上面的内容、PCF8574 FET 中一次只有一个导通、可以直接拉至 GND、也可以通过100uA 电流源上拉至 Vcc。 当输出设置为高电平(默认值)时、该电源将弱上拉该线路、并且一个示例从器件可以安全地将该线路拉至低电平、而不会通过任一器件消耗过多电流。 当从器件拉低时、电流源上会出现压降、PCF8574接收器(Rx)将看到较低的电压。
现在想象一下具有不同推挽架构的从器件。
在这种情况下、如果 PCF8574设置为驱动为低电平并且从器件尝试上拉线路、则不会限制流经器件的电流、短路可能会损坏任一器件或两个器件。 如果 PCF8574设置为驱动高电平、从器件将能够安全地驱动低电平、电流受电流源限制。 下拉 FET 将能够将整个线路驱动为低电平、因此 PCF8574接收器(Rx)读取为低电平。 它还可以安全地驱动高电平、因为线路已经被拉至 Vcc。
对于此配置、不需要外部上拉电阻器、因为内部 CMOS 架构会弱上拉线路。
请告诉我这是否有意义。 如需更多信息、请参阅此类似 的 E2E 帖子。
此致、
Eric