|
发表于 2011-8-19 11:57:47
|
显示全部楼层
我也在使用但是只能把C0~C6读出来,气压和温度值一直都不变。
int32_t initializeBarometer( uint8_t* status_flag )
{
uint8_t txBuf[4];
uint8_t returnval;
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XA0, g_i2cRxBuf, 2 );
CC[0]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
//DelayMs( 50 );
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XA2, g_i2cRxBuf, 2 );
CC[1]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
//DelayMs( 50 );
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XA4, g_i2cRxBuf, 2 );
CC[2]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
//DelayMs( 50 );
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XA6, g_i2cRxBuf, 2 );
CC[3]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
//DelayMs( 50 );
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XA8, g_i2cRxBuf, 2 );
CC[4]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
//DelayMs( 50 );
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XAA, g_i2cRxBuf, 2 );
CC[5]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
//DelayMs( 50 );
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XAC, g_i2cRxBuf, 2 );
CC[6]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
i2cBatchRead( Barometer_SLAVE_ADDRESS7, 0XAE, g_i2cRxBuf, 2 );
CC[7]= (g_i2cRxBuf[0] << 8) | g_i2cRxBuf[1];
return returnval;
} |
|