主题中讨论的其他器件: LP5569、 MSP430WARE
您好、TI 专家、
我一直致力于在 LP-MSP430FR2476和 LP-5569 EVM (LED 驱动器)这两个 TI 器件之间实现多字节 I2C 通信。 我在向电路板写入基本值方面取得了一些成功、但我注意到调试会话之间存在一些困难。 也就是说、当我第一次打开调试会话时、两个器件之间的 I2C 通信操作没有问题。 但是、当我关闭一个调试会话并重新打开一个新的调试会话时、我注意到代码在开始生成后立即在对 EUSCI_B_I2C_masterMultiByteSendStart 的行中被阻止。
我使用 MSP430Ware 中提供的示例代码中 I2C 模块的基本配置。 下面是我用于写入 LP5569控制寄存器的函数的大致草图:
EUSCI_B_I2C_masterSendMultiByteStart (EUSCI_B0_BASE、CONTRAL_reg); //优化等待(如果没有 NACK 或仲裁丢失、继续将下一个值写入总线 __DELAY_CYCLES (100); EUSCI_B_I2C_masterSendMultiByteFinish (EUSCI_B0_BASE、VALUE);
当我第一次调用上述函数时,我发现代码通常停留在 MSP430Ware driverlib 的 eusci_b_i2c.c 中的以下代码行上:while (!(HWREG16 (baseAddress + OFS_UCBxIFG)& UCTXIFG));
我们非常感谢您的任何帮助!