野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10033|回复: 4

ADC多通道采集是存储在一个位置的么

[复制链接]
发表于 2015-10-16 21:57:50 | 显示全部楼层 |阅读模式
ADC多通道采集是存储在一个位置的么,怎么辨别不同通道的数据
回复

使用道具 举报

发表于 2015-10-17 08:54:21 | 显示全部楼层
是的,都存储在同一个位置,读取数据的时候先查看标志位
回复 支持 反对

使用道具 举报

发表于 2015-10-17 09:04:32 | 显示全部楼层
【ADC】STM32 ADC 功能框图详解(看完就会编程了)
http://www.firebbs.cn/forum.php? ... =9765&fromuid=1
(出处: 野火论坛)




6、转换后的数据放在哪里?  ADC_DR  和 ADC_JDRx
一切准备就绪,ADC转换后的数据根据转换组的不同,规则组的数据放在ADC_DR寄存器,注入组的数据放在JDRx。

ADC_DR:ADC规则数据寄存器
ADC规则组数据寄存器ADC_DR只有一个,是一个32位的寄存器,低16位在单ADC时使用,高16位是在ADC1中双模式下
保存的ADC2转换的规则数据,双模式就是ADC1和ADC2同时使用。在单模式下,ADC1/2/3都是不使用高16位的。因为
ADC的精度是12位的,转换出来的值只有12位,那么无论ADC_DR的高16或者低16位都放不满,只能左对齐或者右对齐,
具体是以哪一种方式存放,由ADC_CR2的11位ALIGN设置。

规则通道可以有16个这么多,可规则数据寄存器只有一个,那转换的数据是不是就全部都挤在了DR里面,前一个时间点
转换的通道数据,就会被下一个时间点的另外一个通道转换的数据覆盖掉,所以当通道转换完成后就应该把数据取走,或者
开启DMA模式,把数据传输到内存里面,不然就会造成数据的覆盖。

ADC_JDRx:ADC注入数据寄存器
ADC注入组最多有4个通道,刚好注入数据寄存器也有4个,每个通道对应着自己的寄存器,不会跟规则寄存器那样产生数据覆盖的问题。
ADC_JDRx是32位的,低16位有效,高16位保留,数据同样分为左对齐和右对齐,具体是以哪一种方式存放,由ADC_CR2的11位ALIGN设置。
回复 支持 反对

使用道具 举报

发表于 2016-9-17 15:05:04 | 显示全部楼层
fire 发表于 2015-10-17 09:04
【ADC】STM32 ADC 功能框图详解(看完就会编程了)
http://www.firebbs.cn/forum.php?mod=viewthread&tid= ...

火哥,我刚接触STM32不久,现在在弄3个通道ADC采集,我有点问题想请教一下您。
问题一:开启DMA传输后是不是ADC采集一个电压值后都会触发中断,触发中断后DAM才工作,将对应数据传输过去。会不会出现DAM重复发送上次采集的数据的现象(就是ADC采集的值还没刷新,然后DMA又把这个值传输过去了,造成的数据的重复)
问题二:在配置文件里,是不是按照如下顺序配置:1,对应ADC采集通道的管脚配置(和例程相比较只多了两个脚的配置) 2,DMA配置(和例程一致) 3,ADC配置(和例程相比较,打开了扫描模式,将要转化的通道数改成3,配置了ADC三个通道的采样周期和序列,序列分别是1,2,3)
注:我用的三个通道都是ADC1
问题三:其实我问题一中的问题相关,如果三个数据我依次都采集到了,那如何去区分这三个数据是那个通道采集到的呢?
希望火哥能帮忙解答,感谢!!!
回复 支持 反对

使用道具 举报

发表于 2018-12-21 14:18:02 | 显示全部楼层
学学没完  在不  
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-30 03:26 , Processed in 0.028155 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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