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.

TMS320F28388D: 关于CM核中的的I2C驱动,往寄存器写数据,寄存器数据还是0是为什么

Part Number: TMS320F28388D
Other Parts Discussed in Thread: C2000WARE

有以下两个疑问:

1、使用如下程序发送数据

I2C_putMasterData(I2C0_BASE,0x55);
I2C_setMasterConfig(I2C0_BASE, I2C_MASTER_CMD_SINGLE_SEND);

向寄存器中写入数据,但寄存器中数据仍然是0

2、当debug时,或者reset时,没有向寄存器中写入数据,但是寄存器中已经有数据,如上图

  • 您好,

    I2C模块在禁用时进行配置后是否启用? 如果启用,则应仔细检查I2C配置或步骤顺序。 请参考C2000WARE库中的I2C示例,其中展示了如何使用FIFO,非FIFO,环回,与EEPROM通信等驱动程序以开始使用。

  • 您好,感谢回复,我在CM核没找到对应的例程,按照CM核的例程,发现数据发送有问题,问一下有没有完整的CM核IIC读写数据例程,下图是我的做法,您看有什么问题

  • 对于I2C_initMaster,如果传输数据为100 Kbps,则最后一个参数应设置为false。只有当速度高达400 Kpbs时,才应将其设置为true。确保i2cclk参数与此期望值匹配。

    这是为你的应用程序初始化和配置I2C的一般方法