通过IIC读取到FDC2212的通道转换值12位为0xfff,直接到达最大值,这是什么原因造成的呢?寄存器配置如下:
uint16_t REGISTER_VALUE[] = {
0x0000, /* 0x00 DATA_MSB_CH0 */
0x0000, /* 0x01 DATA_LSB_CH0 */
0x0000, /* 0x02 DATA_MSB_CH1 */
0x0000, /* 0x03 DATA_LSB_CH1 */
0x0000, /* 0x04 DATA_MSB_CH2 */
0x0000, /* 0x05 DATA_LSB_CH2 */
0x0000, /* 0x06 DATA_MSB_CH3 */
0x0000, /* 0x07 DATA_LSB_CH3 */
0xffff, /* 0x08 RCOUNT_CH0 */
0xffff, /* 0x09 RCOUNT_CH1 */
0xffff, /* 0x0A RCOUNT_CH2 */
0xffff, /* 0x0B RCOUNT_CH3 */
0x0000, /* 0x0C OFFSET_CH0 */
0x0000, /* 0x0D OFFSET_CH1 */
0x0000, /* 0x0E OFFSET_CH2 */
0x0000, /* 0x0F OFFSET_CH3 */
0x0400, /* 0x10 SETTLECOUNT_CH0 */
0x0400, /* 0x11 SETTLECOUNT_CH1 */
0x0400, /* 0x12 SETTLECOUNT_CH2 */
0x0400, /* 0x13 SETTLECOUNT_CH3 */
0x0,// 0x1001, /* 0x14 CLOCK_DIVIDERS_CH0 */
0x1001, /* 0x15 CLOCK_DIVIDERS_CH1 */
0x1001, /* 0x16 CLOCK_DIVIDERS_CH2 */
0x1001, /* 0x17 CLOCK_DIVIDERS_CH3 */
0x404c, /* 0x18 STATUS */
0x0001, /* 0x19 STATUS_CONFIG */
0x1e01, /* 0x1A CONFIG */
0x820d, /* 0x1B MUX_CONFIG */
0x0000, /* 0x1C RESET_DEV */
0x0000, /* 0x1D Addr not exist */
((DRIVE_CURRENT_CH0_Value<<11)&0xF800), /* 0x8c40 0x1E DRIVE_CURRENT_CH0 */ //0x8c40, /* 0x1E DRIVE_CURRENT_CH0 */
((DRIVE_CURRENT_CH0_Value<<11)&0xF800), //((DRIVE_CURRENT_CH0_Value<<11)&0xF100), //0x8c40, /* 0x1F DRIVE_CURRENT_CH1 */
0x8800, /* 0x20 DRIVE_CURRENT_CH2 */
0x8800, /* 0x21 DRIVE_CURRENT_CH3 */
};