Thread 中讨论的其他器件:EK-TM4C1294XL
我正在处理一个使用 I2C 总线的项目、我发现 I2C 主总线监视器(I2CMBMON)寄存器存在一些奇怪的行为。
如数据表中所述、它应该显示 SDA 和 SCL 信号状态、但是它只在上电或复位 CPU 之后才正确显示。 如果我对 I2C 控制器或禁用/使能周期执行外设复位、它始终显示3、这意味着即使实际电平为低电平、SDA 和 SCL 仍处于高电平。 我正在尝试在 I2C 总线恢复函数中使用该寄存器。
我创建了一个简单的 CCS 项目、在 EK-TM4C1294XL 电路板上对其进行演示(请参阅随附文件中的)。 在 I2C 的外设复位之后和禁用-使能周期之后、项目只在 UART0上打印 I2CMBMON 状态。 我已将 PG0和 PG1连接到 GND、因此 SDA 和 SCL 变为0、但 I2CMBMON 仅在第一次显示正确的状态。 我还在外设复位和 DIS/EN 周期后添加了发送停止、但没有成功。 我还使用了 I2C 函数的 MAP_方差、但也没有成功。
要运行该项目、您需要在'Project properties->CCS Build->Variables'选项卡中将 TIVAWARE_DIR 更新到您的路径。
那么、有人能告诉我如何获得正确的 I2C 总线状态吗?e2e.ti.com/.../i2c_2D00_reset_2D00_test.zip