关于STM32 ADC用DMA采多通道时数据错位的问题

[复制链接]
6232|9
 楼主| kingpower2018 发表于 2009-4-13 19:23 | 显示全部楼层 |阅读模式
STM32 的ADC 施加干扰时应该是ADC的配置参数丢失了,所以数据会放错误,而一旦错误就一直错下去(即使干扰消失),除非重新上电复位,重新初始化ADC,现在我只能在每个周波20ms重新初始化ADC,这样再加干扰时就不会出现数据错位,产品的问题得以解决,但多少还会影响我的采样精度,问题得以解决,感谢ST的技术支持,但我觉得STM32 的ADC不够稳定.希望以后得以改进.
 
 
香水城 发表于 2009-4-13 21:12 | 显示全部楼层

请问你施加的干扰是什么样的?多么严重的干扰才会产生问

楼主说的这个问题必须量化才有说服力。
ijk 发表于 2009-4-14 09:52 | 显示全部楼层

每个周波20ms重新初始化ADC

  每个周波20ms重新初始化ADC,似乎没有必要这么频繁,或许0.5或者1秒重新初始化ADC 1次就够了。
rocket432 发表于 2010-1-31 22:20 | 显示全部楼层
今天调试了adc,开始的时候程序经常出现数据错位,后来在每次转换完毕后加了dma ADC_SoftwareStartConvCmd(ADC1, DISABLE);
  ADC_Cmd(ADC1, DISABLE);
  ADC_DMACmd(ADC1, DISABLE);
三句话,再没有出现过错位,希望能给相同问题的同仁有点帮助
sinadz 发表于 2010-2-1 16:28 | 显示全部楼层
我也认为是楼主本身的程序没有优化好
baidudz 发表于 2010-2-1 22:02 | 显示全部楼层
楼主的意思,感觉跟干扰关系不大吧
jinjing999 发表于 2011-10-21 12:06 | 显示全部楼层
呵呵,芯片外设的问题
yinyangdianzi 发表于 2011-10-21 12:22 | 显示全部楼层
呵呵,,恭喜,,
jinjing999 发表于 2011-10-21 14:31 | 显示全部楼层
顶一下

六个脚印
xiloujushi 发表于 2013-1-8 13:56 | 显示全部楼层
5楼正解,我验证过了,但发现仅用头两句就行了。即加上如下两行:
ADC_SoftwareStartConvCmd(ADC1, DISABLE);
ADC_Cmd(ADC1, DISABLE);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

58

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部