在调试ADS8688的过程中遇到了一个问题,就是在芯片在掉电不充分的情况下,比如电压降到2.4V,这时突然加电至5V的正常电压。这种情况下读到的转换结果是错误的,固定为0xffff,且无法通过RST管脚进行复位或掉电。只有通过彻底断电才能解决。我们使用的是单次转换模式。下面是部分代码。
ads8688_reset(&ads8688_OBJ); // 初始化结构体,拉低RST管脚1us。
delay20ms(); //延时20ms
ads8688_range_selc (&ads8688_OBJ, CH2, BIPOLAR_VREF_0P625);
ads8688_range_selc (&ads8688_OBJ, CH3, BIPOLAR_VREF_0P625);
ads8688_range_selc (&ads8688_OBJ, CH4, BIPOLAR_VREF_0P625);
ads8688_manual_mode(&ads8688_OBJ, CMD_MAN_CH_2);
lastdata[0][0] = ads8688_manual_mode (&ads8688_OBJ, CMD_MAN_CH_3);
lastdata[1][0] = ads8688_manual_mode (&ads8688_OBJ, CMD_MAN_CH_4);
lastdata[2][0] = ads8688_manual_mode (&ads8688_OBJ, CMD_MAN_CH_2);
1、这种情况是什么原因造成的,有没有解决办法?
2、我们的代码是否有问题,怎么调整?