器件型号:TMP007
我现在已经成功集成了 TMP007、但我在数据表中似乎找不到任何有关上电复位和软件复位时序的信息、并且器件仅在引入长时间延迟时才会工作-这感觉不正确。
我们的器件固件执行一些 I/O 测试来检测卡在高电平、低电平和短路的 I2C 线路、以停止条件结束、然后继续尝试读取/写入操作以检测其他器件(MCP4827、TMP101)并对其进行初始化。 I2C 时钟为100kHz。
TMP007器件通过发送地址+写入、测试 ACK、然后是停止条件进行扫描。
bool TMP007设备:检测(void) { i2c_write_start (_addr); bool ack = i2c_getAck (tW_MT_SLA_ACK); i2c_stop (); return; }
前面的一些总线事务处理、检测本身或软件复位的发出会导致器件否定进一步的立即命令。 这些都不包含总线错误。 只有在 STOP 和随后的 START 条件之间引入延迟(例如40ms)时、才不会再出现此行为。
我缺少什么?
