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.

[参考译文] MSP432P401R:与 BQ27441通信时 I2C 挂起

Guru**** 2553450 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/595256/msp432p401r-i2c-hangs-when-communicating-with-bq27441

器件型号:MSP432P401R

我正在尝试对 MSP432进行编程、以读取 BQ27441电量监测计并设置电池容量。 I2C 在 driverlib 的以下行上挂起:

//轮询发送中断标志。
while (!BITBAND_peri (EUSCI_B_CMSIS (模态)->rIFG.r、UCTXIFG_OFS))
; 

这是我使用的代码。 它在243行上挂起。 如果我注释掉它挂起的部分、它将挂起下一个部分。

//------ 发送---
EUSCI_TXBuffer &= 0x00; //清除发送缓冲
区 map_I2C_masterSendMultiByteStart (eUSCI_MODULE、BQ27441_extended_CHECKSUM);
map_I2C_masterMultiByteNext (eUSCI_MODULE、new_CSUM);map_I2C_SendmasterMultiByteStop
(eUSCI_MODULE);

EUSCI_TXBuffer &= 0x00; //清除发送缓冲
器 MAP_I2C_masterSendMultiByteStart (USCI_MODULE、BQ27441_COMMAND_CONTROL);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// 代码在此处挂起
// 在 MultiByteStart

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MAP_I2C_masterSendMultiByteNext (EUSCI_MODULE、BQ27441_CONTRAL_SOFT_RESET);
MAP_I2C_SendmasterMultiByteNext (EUSCI_MODULE、0x00);
MAP_I2C_masterSendMultiByteStop (EUSCI_MODULE);



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

    在详细介绍之前、您能向我解释一下您的设置吗?

    您的硬件是什么? 是红色还是黑色?
    如何连接到 BQ 器件(I2C 连接)?
    您的软件起点是什么?

    您可以在 MSP432 SDK 中找到我们最新的器件头文件和支持:www.ti.com/.../simplelink-msp432-sdk

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

    硬件是定制板。 基于红色 Launchpad 文件。 I2C 线路有一个1K 的上拉电阻器。
    2. I2C 引脚 P6.6、P6.7
    来自 driverlib 的 I2C 示例代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我找出了错误。 它与 ERatta USCI43有关。 权变措施是使用超时。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您再次发布该解决方案!

    -Priya