打印

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

[复制链接]
5445|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);
三句话,再没有出现过错位,希望能给相同问题的同仁有点帮助

使用特权

评论回复
5
sinadz| | 2010-2-1 16:28 | 只看该作者
我也认为是楼主本身的程序没有优化好

使用特权

评论回复
6
baidudz| | 2010-2-1 22:02 | 只看该作者
楼主的意思,感觉跟干扰关系不大吧

使用特权

评论回复
7
jinjing999| | 2011-10-21 12:06 | 只看该作者
呵呵,芯片外设的问题

使用特权

评论回复
8
yinyangdianzi| | 2011-10-21 12:22 | 只看该作者
呵呵,,恭喜,,

使用特权

评论回复
9
jinjing999| | 2011-10-21 14:31 | 只看该作者
顶一下

六个脚印

使用特权

评论回复
10
xiloujushi| | 2013-1-8 13:56 | 只看该作者
5楼正解,我验证过了,但发现仅用头两句就行了。即加上如下两行:
ADC_SoftwareStartConvCmd(ADC1, DISABLE);
ADC_Cmd(ADC1, DISABLE);

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

58

帖子

0

粉丝