请问CH559手动采样为什么需要两次才能采到正确的数据?

你好,我在开发CH559程序时遇到以下问题,当ADC转换时,输出数据是上次采样的数据,要再次转换才能拿到现在的电压数据。


原始代码是根据例程 ADCManual.C V1.3 改出来的 (贵论坛的插入代码功能有问题,会出现一堆问号,所以这里插图)


1683079150491815.png



然后我做了以下测试,首先把延时加长,避免充电不足问题

1683079149200372.png


还是不行

那我把ADC_CTRL执行两次

Screen Shot 2023-05-02 at 9.58.14 PM.png

除了上电第一次采样还是出错,其他都没问题。请问正确的采样方法是什么?

建议采样次数再多一点,丢弃前面的部分,后面部分做滤波处理后求平均值。

充电时间无关代码中延时,只与寄存器配置有关。当然采样电路也要相对合理。


你好,确实反复采样能部分回避这个问题,目前问题并不是采样数据误差大,而是采样时间和预期不一致。

但是请问CH559有没有一种明确的方法可流程能保证采样采到的数据是当前的值,而不是前一次采样的值。


流程参考手册,基本就是代码的体现

image.png


只有登录才能回复,可以选择微信账号登录