关于adc双通道采样的问题

2019-08-17 08:23发布

rt,板子是f103rct6核心板,做的电压采样和电流采样,不用dma只在主程序里轮流采adc1的通道1和通道2的值并计算。但是当采样电压为0时adc输出的值不为0是什么问题?这是adc的配置 屏幕截图(3).png
主程序显示

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
xianshasaman
2019-08-17 10:18
多通道扫描模式(即ScanConvMode被使能)下,不使用DMA是没法用的,因为EOC转换完成标志位只有在整个规则通道组全转换完后才置位。如果通道数量大于1,那读数据寄存器的时候总会读出最后一个通道的值。

你的程序是这样的
ADC_InitStructure.ADC_NbrOfChannel = 2;
ADC_InitStructure.ADC_ScanConvMode = ENABLE;
设置了2个通道,还开了扫描模式,也不配置规则通道组,还不用DMA,读的时候又每次只配置一半,肯定不应该好使。

建议用2个方法,一种是用DMA,另一种是按原子的例程那样,每次就用一个通道,读的时候重新配置通道号

一周热门 更多>