最近工作中遇到一个问题, 设备在更换了新的加速传感器DA217 后,休眠功耗比以前大了很多。 查遍了各个IO口,设置都是对的, 没有漏电流。 联系厂家技术支持, 才找到原因。 问题出在 DA217的 AD0 口, DA217 如果用SPI方式连接, AD0口是做为SDO的,诶呦问题。 当以I2C连接时, AD0 接地。 这时候如果不对寄存器进行必要设置, 这个口就会有100uA 的漏电产生。
I2C连接时, 寄存器设置如下
res |= I2C_ACC_WriteReg(0x7f, 0x83);
res |= I2C_ACC_WriteReg(0x7f, 0x69);
res |= I2C_ACC_WriteReg(0x7f, 0xBD);
I2C_register_mask_write(0x8c,0x40, 0x00);
设置完成, 休眠电流变成几个微安。