主题:MSPM0L1306 中讨论的其他器件
工具/软件:
尊敬的团队:
根据 CCS 创建的示例 i2c_controller_rw_multibyte_fifo_poll_LP_MSPM0L1306_nortos_ticlang、我创建了两个 I2C 函数、源代码附加在 i2c.7z 中:
- I2cOperationStatus[t I2C_Read (uint8_t devAddr、uint8_t regAddr、uint8_t *dataBuf、uint8_t length)
- I2cOperationStatus[t I2C_WriteByte ( uint8_t devAddr、uint8_t regAddr、uint8_t dataByte )
我们的产品中有两个具有不同器件地址的 I2C 外设。
当我使用函数 I2C_READ() 从其寄存器中读取芯片 ID 时、可以正确读取芯片 ID。

之后,当我使用函数 I2C_WriteByte () 来初始化寄存器时,它将失败,波形变为:

其中橙色线表示 SDA、蓝色线表示 SCL。
我的问题是:
1.问题的原因是什么?
2.发生这种情况时,如何恢复 I2C 模块以使软件正常工作? 目前、重新引导设备是恢复设备的唯一方法、但问题将再次出现。
