OpenEdv-开源电子网

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

ADC多路数据采集的问题

[复制链接]

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-10-22 21:58:31 | 显示全部楼层 |阅读模式

  谈谈我个人的看法(说的有啥不妥的,请指出):

           因为ADC的规则通道转换的值储存在一个仅有的数据寄存器中,所以当转换多个规则通道时必须及时将数据读走,否则后面采集到的数据会将前面的数据覆盖掉,我们看起来好像只有一个通道起作用。为了避免这种现象的出现,我们就要用到DMA(直接存贮器访问),需要在adc.c程序里使能ADC_DMA,这样我们就能及时将ADC多路采集的数据读走了。

下面是我写的一个程序

                               

战舰Mini STM32的ADC1的三路通道数据采集在TFTLCD显示.zip

6.58 MB, 下载次数: 6121

相信自己,一切皆有可能。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2016-11-29
在线时间
4 小时
发表于 2016-12-7 20:24:22 | 显示全部楼层
转换的数值一直是0。000000,
查看一下
找问题啦!!!!!!!!
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-10-22 22:08:04 | 显示全部楼层
回复【楼主位】一个人的旅程1990:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-10-31 22:05:11 | 显示全部楼层
回复【楼主位】一个人的旅程1990:
---------------------------------
楼主你好,借用了你的一些程序在我这调试不行啊,我没有用液晶显示,就是简单的串口输出。但是现在问题是:我用的是红牛的板子,用AD通道10、11、13,10接的是3.3v,11接gnd,13接板上滑动变阻器可调电压端。
串口上显示情况:10没问题,11跟13通道现在是一样一样的,调节滑动变阻器,他俩同时变化,能给解答下么?
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-11-1 11:08:36 | 显示全部楼层
回复【3楼】tangzhao_01:
---------------------------------
有时间给你看看
相信自己,一切皆有可能。
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-11-1 11:28:41 | 显示全部楼层
回复【3楼】tangzhao_01:
------------------------------
我刚又测试了下,程序没问题啊,你看你DMA通道开启没
相信自己,一切皆有可能。
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-11-1 17:00:01 | 显示全部楼层
已经开启了啊,今天又整了一天,还是不行,现在总体问题是:通道10采集的3.3v是没问题的,通道11采集的居然是通道13的电压;通道13原本采的是可调电压端,通道11采的gnd电压;现在通道13数字量跟模拟量都是0;怪异的是:如果我把通道11对应的板子模拟输入端不接地,通道10采的就是很大的值,我用软件仿真,启动AD转换后,看了采集的数字电压,第13通道压根就没采上。AD上设置的也没问题啊,如图。真不知道是啥原因,你给看看有问题不。



回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-11-1 19:26:53 | 显示全部楼层
回复【6楼】tangzhao_01:
---------------------------------
你分别直接把通道11用杜邦线接地或者接3.3v,看是啥情况
相信自己,一切皆有可能。
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-11-1 19:39:21 | 显示全部楼层
回复【7楼】一个人的旅程1990:
---------------------------------
单独用一个通道11,是没问题的
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-11-1 19:47:43 | 显示全部楼层
你把通道10接3.3v,通道11接地,通道13接3.3v,看采集的的值和实际一样不
相信自己,一切皆有可能。
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-11-1 20:06:26 | 显示全部楼层
情况咋样?
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-11-1 21:02:11 | 显示全部楼层
回复【10楼】一个人的旅程1990:
-------------------------------
还跟刚刚一样的,通道13始终都是0,通道10跟11都没问题了。
回复 支持 反对

使用道具 举报

13

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2013-7-22
在线时间
0 小时
 楼主| 发表于 2013-11-1 21:56:20 | 显示全部楼层
你把通道13换个其他通道,试试。通道10和11都没问题,那通道13应该也没问题才对啊
相信自己,一切皆有可能。
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-11-2 21:33:26 | 显示全部楼层
回复【12楼】一个人的旅程1990:
---------------------------------
数据还是有问题的,今晚我系统的试了一遍,我现在只用两个通道:通道10跟通道11;单独用采电压都是OK的;
(1)当通道10接地,通道11接vcc时:通道10采的数为很大的一个值,通道11采的为0;我让通道10采集电压端悬空,通道11接vcc,两个采的值还跟刚刚的一 样;让通道11悬空,通道10接地,那么通道10采集的就正常了,但是通道11的始终为0;
(2)当通道11接地,通道10接vcc时,两个通道采集的电压为正常的,我让通道10那端悬空,通道11接地后,通道10采的将是一个随机数,通道11采的始终为0(这个没问题);我让通道10接vcc,通道11那端悬空,通道10采集的没问题,但是通道11始终为0;

总结:通道11一直都是有问题的,采的值永远为0,而且只要通道11接vcc会对通道10产生影响,其他情况是没问题的。很费解,程序有问题??
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-11-3 16:59:38 | 显示全部楼层
回复【13楼】tangzhao_01:
---------------------------------
哥们,问题我已经成功解决了,谢谢你了。就是一个小问题,让我徘徊了好几天,我把定义的数组u32改成__IO uint16_t 就ok,但是真心不明白为什么额
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-3 19:40:27 | 显示全部楼层
哦哦,那是因为你的DMA传输,是16位宽,你u32的数组,每个元素占4个字节,而DMA只传输给你2个字节...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-10-16
在线时间
0 小时
发表于 2013-11-23 10:53:28 | 显示全部楼层
回复【15楼】正点原子:
---------------------------------
嗯,多天没上论坛了,请问下原子哥,我想自己做块板子,这个主芯片的原理图库以及封装库都得自己画么?st公司有没有提供?我在altium公司看到stm32F1系列的封装库,但是注册才能下载,注册了好些天了还在等待验证额
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-23 16:50:41 | 显示全部楼层
ST有提供吧,不过我都是自己画的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2015-5-12
在线时间
23 小时
发表于 2015-5-29 21:03:47 | 显示全部楼层
谢谢分享!学习!
回复 支持 反对

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-4-8
在线时间
13 小时
发表于 2016-4-27 15:18:12 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 23:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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