主题中讨论的其他器件: ADS7828
你(们)好
我尝试使用 i2c 接口将 cc2541与 ads7828连接、并使用 BLE 在移动设备上接收数据。
但是、我接收到的是0x00或0xFF 恒定数据。
以下是 ME 使用的代码:
--------------------------------------------------------------------
void i2c_start()
{
I2CCFG &=~I2C_SI;
I2CCFG |=I2C_STA;
while (((I2CCFG&I2C_SI)=0);
I2CCFG &=~I2C_STA;
}
void i2c_stop ()
{
I2CCFG &=I2C_STO;
I2CCFG |=~I2C_SI;
while (((I2CCFG&I2C_STO)!=0);
}
void i2c_send (unsigned int x)
{
I2cData = x;
I2CCFG &=~I2C_SI;
while (((I2CCFG & I2C_SI)=0);
}
unsigned int i2c_read ()
{
I2CCFG &=~I2C_SI;
while (((I2CCFG & I2C_SI)=0);
返回 I2cData;
}
void i2c_init()
{
//I2CCFG=0x45;
I2CWC = 0x00;
I2CCFG |=(I2C_ENS1 | I2C_AA);
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
静态空 performPeriodicTask( void )
{
uint8计数;
uint8 addr = 0x49;
uint8命令= 0x84;
I2C_init();
I2C_start();
IF (I2CSTAT = 0x08)
{
I2C_SEND (addr);
}
I2C_SEND (命令);
count = i2c_read();
I2C_STOP();
SimpleProfile_SetParameter (SIMPLEPROFILE_CHAR4、sizeof (uint8)、&count);
}
----------------------------------------------------------------------
请帮我解决。

