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.

[参考译文] TM4C1230E6PM:问题 i2c

Guru**** 652440 points
Other Parts Discussed in Thread: BQ34Z100
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1112188/tm4c1230e6pm-problem-i2c

器件型号:TM4C1230E6PM
主题中讨论的其他器件: BQ34Z100

您好!

我有一个 tm4c1230e下午6点的人在看 bq34z100-Z1电量监测计。当我的大电流消失时、我无法再与电量监测计通信。 我有以下信号。 我尝试使用以下代码重置 I2C: uint32_t

uint32_t u32_status;
    u32_I2cPort = I2C1_BASE;
    u32_status = HWREG(u32_I2cPort + I2C_O_MCS);
    I2CMasterDisable(u32_I2cPort);
    I2CMasterIntClear(u32_I2cPort);
    I2CMasterIntDisable(u32_I2cPort);
    HWREG(u32_I2cPort + I2C_O_FIFOCTL) = 80008000;
    I2CMasterDisable(u32_I2cPort);
    SysCtlPeripheralDisable(SYSCTL_PERIPH_I2C1);
    HWREG(u32_I2cPort + I2C_O_FIFOCTL) = 80008000;
    SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C1);
    I2CMasterInitExpClk(u32_I2cPort, SysCtlClockGet(), true);
    I2CMasterTimeoutSet(u32_I2cPort,50);
    I2CMasterGlitchFilterConfigSet(u32_I2cPort,I2C_MASTER_GLITCH_FILTER_16);
    //clear I2C FIFOs
    HWREG(u32_I2cPort + I2C_O_FIFOCTL) = 80008000;
    I2CMasterEnable(u32_I2cPort);

但 I2C 不起作用。 我在 i2c 上测量这些信号

红色是时钟、蓝色是数据。如何复位 I2C?

谢谢

此致、

M.Micou

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     您要重置谁? MCU 或  bq34z100中的 I2C。 我不熟悉 bq34z100、但在阅读其数据表时、您需要为其提供以下命令。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我想重置 MCU 的 I2C。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     要复位 I2C 模块、您可以写入 SysCtlPeripheralReset (SYSCTL_Periph_I2C0)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    谢谢你。