STM32 以固定频率进行DMA连续转化

1,选择ADC 和 通道

2,配置ADC 参数

关闭连续转换,开启扫描,开启非连续转换,使能DMA连续转换,以一个组为单位进行转换。

设置转换的通道数,设置触发源,设置触发边沿,设置每个通道的参数。

 

 

3,配置DMA

选择DMA的模式为循环模式

 

4,配置Timer

使能自动重载,选择触发事件为更新事件。拿timer的主频除以自动重载值就是我们ADC的转化速率。需要注意的是这个速率不能超过你当前配置的ADC最大转化速率。每个通道的转化时间为:对应通道的转化需要的cycle+12.5cycle.

例如:我配置的ADC时钟为20M,使能了两个通道,每个通道的转化时间是2.5cycle,那么我的ADC最大转化速度就为20M/(2.5+12.5 + 2.5+12.5)= 20M/30=0.667M.

此外还需注意你使用的timer的位数,如果是16位的timer,你的自动重载值不能超过65535。如果需要的频率不高,在自动重载值不够用的情况下,可以使用预分频。拿timer的主频除以(预分频数+1)就是timer实际的运行频率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值