STM32 多路AD转换问题

我想用STM32检测8处电压值,但是看了相关资料不明白其中的原理,比如一个AD模块有16个通道,是不是就可以检测16处电压?检测后的返回值只有一个ADC_DR寄存器,分时... 我想用STM32检测8处电压值, 但是看了相关资料不明白其中的原理,
比如一个AD模块有16个通道, 是不是就可以检测16处电压?
检测后的返回值只有一个ADC_DR寄存器,分时去读取值?还是每个对应一个寄存器保存读取值?
想知道实现这个过程的原理,希望有高手帮帮忙!特别是怎么读取每个的值
展开
 我来答
百度网友b1b3bef
推荐于2017-11-24 · TA获得超过1234个赞
知道答主
回答量:51
采纳率:0%
帮助的人:55.6万
展开全部
可以检测16处电压。。但是。。但是……不能同时检测。。。
比如如果只是采用adc1的话,要一个一个按顺序来,用库写程序的话有一句
ADC_RegularChannelConfig(ADC1,ADC_Channel_2, 1,ADC_SampleTime_1Cycles5);
里面那个1表示在这一次周期的采样顺序,采样3个点就是
ADC_RegularChannelConfig(ADC1,ADC_Channel_3, 1,ADC_SampleTime_1Cycles5);
ADC_RegularChannelConfig(ADC1,ADC_Channel_2, 2,ADC_SampleTime_1Cycles5);
ADC_RegularChannelConfig(ADC1,ADC_Channel_5, 3,ADC_SampleTime_1Cycles5);
其中的那个1,2,3就是顺序
如果用adc1和adc2的话是可以同时采样的……
但是只用1个adc的话16处采样的返回值只写在对应的ADC_DR里面,需要分时读取;
同样,adc1和adc2是有各自不同的adc_dr;
读取,可以通过dma传出来读取。在dma的设置里有关于adc的……
或者在库函数里也有直接读取的。。
或者。。直接去读寄存器也可以……
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
ATF144X
2012-02-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4651万
展开全部
这时候最好是用DMA方式。

准备一个16单元的数组,设置DMA的目的地址为这数组。配置ADC为单次扫描方式和DMA传送,当启动一次转换后,排序器中16个通道的数据就依次放在数组的16个单元中了。这时只要检查DMA传送是否完成来判断16个通道是否转换完毕。

像TMS320F2812、28335这样的ADC,16个输入通道就对应着16个ADC_DR,这样转换结束后给个通道的结果就放在对应的ADC_DR里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hs2980100
2012-02-03
知道答主
回答量:22
采纳率:0%
帮助的人:11.5万
展开全部
我猜想你没有理解模块 通道的关系。
模块,是一个物理的adc转换器,这样的转换器,stm32芯片上只有2(或3)个。
那怎么有16个通道呢?
通道是什么意思呢。通道就是stm32的一个gpio,按照道理,一个adc转换器只能接一个gpio,怎么接了16个呢。原来gpio和adc中间有一个开关,可以编程选择——打开还是关闭。在同一时间内,一个adc只能接一个通道,stm32可以转换完成一个,再转换另外一个。一个adc模块,只有一个adc_dr。adc转换的结果就存放在adc_dr中,你应该转换完一个通道立即去读取去。
如果还有什么问题,随时等候。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iamwjia
2012-02-05 · TA获得超过273个赞
知道小有建树答主
回答量:121
采纳率:100%
帮助的人:95.1万
展开全部
可以用扫描模式,按照你所定义的顺序依次采完16个通道,如果是定时1和3的话可以用DMA读取,定时器2就只能用软件查询了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式