OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6315|回复: 13

DMA+ADC,数组数据错位了,帮看看嘛,谢谢大家

[复制链接]

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
发表于 2016-10-13 22:58:10 | 显示全部楼层 |阅读模式
5金钱
大家好。我现在用多通道ADC采样。然后呢出现了2个问题:
(1)AD->DR转换完的值大于4096(我设置成右对齐)
(2)                        ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 3, ADC_SampleTime_239Cycles5  );
                        ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5  );
                        ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 2, ADC_SampleTime_239Cycles5  );
现在我必须要配置成这样子才能够正确转换,按道理来说       
应该是配置成               
                        ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5  );
                        ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_239Cycles5  );
                        ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_239Cycles5  );
。但是按照正常的规则组转换顺序,转换完之后,AD的值会有错位,就是第三个值跑到了AD【0】处,我用的是DMA。之前看到别的帖子DMA+ADC数据错位是因为使能顺序的问题,不过我尝试过,貌似不是因为使能顺序的原因。请大家给点宝贵建议呗。谢谢

最佳答案

查看完整内容[请看2#楼]

解决办法:http://www.openedv.com/forum.php?mod=viewthread&tid=7112
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-10-13 22:58:11 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
684
金钱
684
注册时间
2016-1-27
在线时间
184 小时
发表于 2016-10-14 08:36:41 | 显示全部楼层
先使能DMA,再使能ADC,试试
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-10-14 08:43:52 | 显示全部楼层
数组定义和dma初始化
小小蜗牛
回复

使用道具 举报

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
 楼主| 发表于 2016-10-15 21:20:13 | 显示全部楼层
不吃鱼的老鼠 发表于 2016-10-14 08:36
先使能DMA,再使能ADC,试试

好的,我试一下
回复

使用道具 举报

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
 楼主| 发表于 2016-10-15 21:20:50 | 显示全部楼层
jiutianshenjian 发表于 2016-10-14 08:43
数组定义和dma初始化

数组我定义了的啊,DMA使能也就那几行嘛。您觉得我这问题是出在哪里了啊
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-10-16 10:17:53 | 显示全部楼层
林春霞 发表于 2016-10-15 21:20
数组我定义了的啊,DMA使能也就那几行嘛。您觉得我这问题是出在哪里了啊

你把那些贴出来,他们帮你看看
小小蜗牛
回复

使用道具 举报

58

主题

6296

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11603
金钱
11603
注册时间
2014-4-1
在线时间
1327 小时
发表于 2016-10-16 12:30:54 | 显示全部楼层

先想办法定位问题,把事情简化,一个个解决。
比如关掉DMA,用仿真器看AD数值,正确就是后面DMA的问题,否则AD部分有问题。

感觉两方面都有问题,反正DMA一般会有问题。

回复

使用道具 举报

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
 楼主| 发表于 2016-10-19 15:34:21 | 显示全部楼层
xuande 发表于 2016-10-16 12:30
先想办法定位问题,把事情简化,一个个解决。
比如关掉DMA,用仿真器看AD数值,正确就是后面DMA的问题, ...

谢谢您。我目前没有找到解决的办法,就直接在软件里面把转换顺序换一下。只能这样了
回复

使用道具 举报

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
 楼主| 发表于 2016-10-19 15:34:51 | 显示全部楼层
jiutianshenjian 发表于 2016-10-16 10:17
你把那些贴出来,他们帮你看看

谢谢您
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-4-8
在线时间
8 小时
发表于 2016-10-22 01:47:51 | 显示全部楼层
ADC数据错位,是因为DMA程序顺序的问题,try it
回复

使用道具 举报

1

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2016-8-15
在线时间
13 小时
发表于 2016-11-11 11:19:50 | 显示全部楼层
sunber 发表于 2016-10-22 01:47
ADC数据错位,是因为DMA程序顺序的问题,try it

请问 我在用ADC1的五个通道采集时,使用DMA传输到我设置的一个数组里面,在主函数发送时结果全是0(我输入的是直流电压3.3V) 这个问题是什么原因呢
回复

使用道具 举报

4

主题

290

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-8-4
在线时间
107 小时
发表于 2016-11-11 11:23:52 | 显示全部楼层
我在F100的片子上就这么配置,能正常运行,长时间也不会出错。
但是同样的代码移植到F103上,就会出现楼主的问题,工作一段时间会串,DMA传送的结果在缓冲区数组里面串了位置,一直没找到原因。。。
活到老,学到老。
回复

使用道具 举报

42

主题

141

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
342
金钱
342
注册时间
2015-5-26
在线时间
49 小时
 楼主| 发表于 2016-11-11 14:07:06 | 显示全部楼层
kingnike 发表于 2016-11-11 11:23
我在F100的片子上就这么配置,能正常运行,长时间也不会出错。
但是同样的代码移植到F103上,就会出现楼主 ...

很奇怪的问题。而且是单独调试DMA+ADC就不会有这样的状况。跟别的外设一起使用的时候就会出现。现在我只能把那个规则组采样顺序给人为的改掉,才能够正常运行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-22 08:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表