AMP32F003 ADC的坑
本帖最后由 woai32lala 于 2022-11-24 16:33 编辑前几天使用AMP32F003的ADC,用了多个ADC引脚,用到AIN5、AIN6和AIN7,
想用扫描模式来不断读取,没想到用了扫描模式之后,一仿程序直接卡死。不知道啥原因
避坑经验啊 这个坑,你想都想不到,是你设置了channel N,就从channel0-----channel N进行采样,并且重点是,swd的IO会变成ADC口,导致无法仿真 这个坑,你想都想不到,是你设置了channel N,就从channel0-----channel N进行采样,并且重点是,swd的IO会变成ADC口,导致无法仿真 zhanxiao 发表于 2023-12-12 09:21
这个坑,你想都想不到,是你设置了channel N,就从channel0-----channel N进行采样,并且重点是,swd的IO会 ...
确实是这样的,不能连续扫描,得单独扫描 可能需要考虑分辨率降低的情况。 在初始化ADC时,正确设置了扫描模式的相关参数,如采样率、转换率、触发源等。 是否使用了过多的CPU资源或者是否存在死循环 将扫描模式改为单次模式或连续模式 wilhelmina2 发表于 2024-1-3 14:04
将扫描模式改为单次模式或连续模式
不行的 信号可能需要特殊的处理。 在使用扫描模式时,没有正确处理中断,可能会导致程序卡死 lihuami 发表于 2024-1-3 15:31
在使用扫描模式时,没有正确处理中断,可能会导致程序卡死
不是,连续扫描经过了仿真口导致 如果必须使用扫描模式,可以使用DMA 来传输ADC数据 在扫描模式下,每个通道的采样顺序是固定的。 选择的通道(AIN5、AIN6和AIN7)在扫描顺序中,否则可能会导致程序卡死。 是否有过高的时钟速度导致ADC无法正常工作 系统时钟和ADC时钟配置正确,时钟频率是否满足ADC操作的采样率要求。 ADC采样率取决于ADC时钟(ADCCLK)和分频比。 检查程序中的其他部分是否存在问题 过高的采样率可能会导致噪声增加,从而影响测量的准确性。