根据 示例代码、我使用 I2C 将 CC2543与 LIS2DE12TR 连接。
但无法使用寄存器地址读取特定寄存器。 因为我不了解如何发送寄存器地址、以及 在发送寄存器地址后 I2CSTAT 的状态是什么。
我还阅读了用户指南20.1.4.2主机模式、了解 I2CSTAT 寄存器的状态。
所以如果有人知道的话,请帮我…
谢谢
CC2543用作 主器件
#pragma vector = I2C_VECTOR
__interrupt void I2C_ISR(void)
{
// Clear I2C CPU interrupt flag.
I2CIF = 0;
// If a Start or Restart condition has been transmitted ...
if (I2CSTAT == 0x08 || I2CSTAT == 0x10)
{
// Send Slave address and R/W access.
I2CDATA = (SLAVE_ADDRESS << 1) | READ_FROM_SLAVE;
// End Start condition.
I2CCFG &= ~I2CCFG_STA;
}
// If a Data byte has been received and acknowledge has been returned...
else if (I2CSTAT == 0x50)
{
// Read Data byte.
buffer[bufferIndex++] = I2CDATA;
}
// If finished receiving...
if (bufferIndex >= BUFFER_SIZE )
{
// Generate Stop condition.
I2CCFG |= I2CCFG_STO;
// Disable interrupt from I2C by setting [IEN2.I2CIE = 0].
IEN2 &= ~IEN2_I2CIE;
}