|
最近发现手头有个角度传感器,就拿出来倒腾一下。单片机 MSP43FR5969
角度传感器ADXL345
首先通过I2C读取 ADXL345的设备ID
uchar buf[10];
#define ADXL345_ADDRESS 0xA6
#define ADXL345_DEVID 0x00//设备地址存放寄存器
#define ADXL345_ID 0xE5
void Read_DEVID()
{
Multiple_readI2C(ADXL345_ADDRESS,&buf[9],ADXL345_DEVID ,1);
if (buf[9]==ADXL345_ID)
/*此处设置断点,查看BUF*/
printf("读取ADXL345地址成功%d\n",buf[9]);
else
printf("读取ADXL345地址出错%d,读取地址为%d\n",(char)ADXL345_ID,buf[9]);
}
程序运行到断点处,查看buf效果如图:
为甚么buf[9]没有数值??
查看memory发现buf[9]的数值确实为e5.
但是用printf输出buf[9],的数值确实‘读取ADXL345地址成功-15482’
|
|