| 本帖最后由 liang_ke 于 2016-12-14 09:01 编辑 
 原因已找到,问题出现在时钟配置方面.
 
 使用DMA通道采集两路ADC,后来改成一路了,同样的问题,这个问题是我在几次断电和上电过程中发现的,
 
 ADC和DMA的配置是在网上找和例程,采用DMA中断方式.
 
 仿真时将监控ADC缓冲区数据,每次点仿真复位按钮后,缓冲区数据就有可能改变一次,最终会在两个数据之间交替切换.
 不点复位按钮的情况下,这个数据就一直很稳定,不会乱跳.
 
 如下图,
 
     
 不同转换结果的情况下我都测量了ADC供电和ADC引脚电压,都是相同的,就是说电压没变,数据确变了.从上图可以看出,大了16个AD值
 
 经过检查,发现问题出现在下面两段程序上,注释掉后就不再出现上电ADC数值交替变换的情况了.
 //        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);//选择FLASH预取指缓存的模,预取指缓存使能
 //        FLASH_SetLatency(FLASH_Latency_2);//FLASH操作的延时周期
 
 
 
 
 
 |