打印
[STM32F1]

STM32 多路ADC 定时触发

[复制链接]
395|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stly|  楼主 | 2021-7-3 08:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实现的目的是,100us循环点亮6个LED,每次只有一个亮,在LED亮的时候开启对应对通道的ADC采集数据(每个LED对应一路ADC,开启LED后,ADC的电压会根据环境变化而变化)

使用特权

评论回复
沙发
huangchui| | 2021-7-3 08:52 | 只看该作者

你有什么打算呢?或者你想知道什么?

使用特权

评论回复
板凳
stly|  楼主 | 2021-7-3 08:55 | 只看该作者
我用定时器触发LED点亮,同时触发ADC采样,这样在初始化的时候就初始化6路ADC,用DMA中断来收集数据,这样做就是要需要收集6路的ADC数据。我在根据需要采集其中的一路
             这样的做法就是会收集很多无用数据。

使用特权

评论回复
地板
stly|  楼主 | 2021-7-3 09:00 | 只看该作者
就是关于DMA中断来的时间问题。如开启6路ADC,缓存BUFF为20*6,例如ADC采样频率239.5,这样第一次DMA中断来的时间大概在2520us,这个时间是正确的。但是如果第二次                     DMA中断很快就来了。我理解是DMA也是先进先出的。ADC转换完一次就来一次DMA中断。

使用特权

评论回复
5
stly|  楼主 | 2021-7-3 09:02 | 只看该作者
配置一路ADC

使用特权

评论回复
6
llljh| | 2021-7-3 09:04 | 只看该作者
每次定时器中断来了点亮LED后  切换下一路ADC  这样不知是否可行

使用特权

评论回复
7
xxrs| | 2021-7-3 09:06 | 只看该作者
这样就是要频繁配置ADC。

使用特权

评论回复
8
jiajs| | 2021-7-3 09:08 | 只看该作者
你可以通过定时器触发,ADC配置在间断触发模式

使用特权

评论回复
9
yszong| | 2021-7-3 09:11 | 只看该作者
每触发一次就转换一个ADC通道。

使用特权

评论回复
10
dingy| | 2021-7-3 09:14 | 只看该作者
这样的话 让各路ADC结果放在固定的内存地址

使用特权

评论回复
11
heweibig| | 2021-7-3 09:16 | 只看该作者
一轮6路转换完成后产生DMA传输完成中断

使用特权

评论回复
12
wyjie| | 2021-7-3 09:17 | 只看该作者
你按需提取结果。

使用特权

评论回复
13
stly|  楼主 | 2021-7-3 09:19 | 只看该作者
不用dma也可以吧

使用特权

评论回复
14
dengdc| | 2021-7-3 09:21 | 只看该作者
可以自己试一下

使用特权

评论回复
15
dingy| | 2021-7-3 09:23 | 只看该作者
我也想试试

使用特权

评论回复
16
stly|  楼主 | 2021-7-3 09:25 | 只看该作者

好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

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

本版积分规则

433

主题

7058

帖子

0

粉丝