主题中讨论的其他器件:LP5024、
您好!
我希望获得一些有关将 MSP430G2553与 I2C 搭配使用的帮助。 我正在尝试更改外设(LP5024)上的特定寄存器、但不太了解如何使用 MSP430来实现这一点。 我找到了以下 有关如何实现这一目标的文档:
我不理解的是如何将其转换为代码。 我一直在研究这些例子,其中任何一个似乎都不适合这种情况。
我的一个问题是关于步骤2和 MSP430缓冲 器 UCB0I2CSA。 在传输数据序列时、是否会在开始时自动发送该数据、或者我是否需要手动发送该数据。 例如、假设我想将0xFF 写入地址为0x88的外设的寄存器0x00。 是否需要手动发送
const unsigned char TxData ={0x00、0xFF}; //要发送的数据表
或
const unsigned char TxData ={0x88、0x00、 0xFF }; //要发送的数据表
?
如果是第二个选项、 UCB0I2CSA 缓冲器的用途是什么?
我一直使用代码 msp4302xx3_uscib0_i2c_08.c作为我的工作框架。 如果我想更改外设上的两个独立寄存器、我是否可以像这样简单地复制主循环中的代码?
while (1)
{
PTxData =(unsigned char *) TxData1; // TX 数组起始地址
TXByteCtr = TxData1的大小; //加载 TX 字节计数器
while (UCB0CTL1 & UCTXSTP); //确保发送了停止条件
UCB0CTL1 |= UCTR + UCTXSTT; // I2C TX、启动条件
_bis_SR_register (CPUOFF + GIE); //输入带中断的 LPM0
//保持在 LPM0中直到所有数据
//是 TX
PTxData =(unsigned char *) TxData2; // TX 数组起始地址
TXByteCtr = TxData2的大小; //加载 TX 字节计数器
while (UCB0CTL1 & UCTXSTP); //确保发送了停止条件
UCB0CTL1 |= UCTR + UCTXSTT; // I2C TX、启动条件
_bis_SR_register (CPUOFF + GIE); //输入带中断的 LPM0
//保持在 LPM0中直到所有数据
//是 TX
}
感谢你的帮助!
Kathleen