请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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);