STM32——多路ADC通道+DMA+定时器循环采集传感器数据(二)

本文介绍了如何在STM32F407中配置ADC的多路通道与DMA,利用DMA实现数据的高速传输,并通过定时器实现循环采集传感器数据。文中详细讲解了DMA的循环模式以及数据处理方法,包括取均值滤波。最后展示了定时器配置和中断函数的使用,使得系统能够自动定时触发ADC采样。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        承接上一篇,接着讲ADC_DMA功能配置,直接存储器访问(DMA,Direct Memory Access)用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。在配置后,可以在无需任何CPU操作的情况下通过DMA快速移动数据,可以节省CPU资源用于其他操作。

        STM32F407的DMA部分有两个DMA控制器,总共有16个数据流(每个控制器8个),每一个DMA控制器都用于管理一个或多个外设的存储器访问请求。每个数据流总共有可以多达8个通道(或称请求)。每个通道都有一个仲裁器,用于处理DMA请求间的优先级。


        由表中可以看出,ADC1的DMA功能可以用通道0数据流0、数据流4,我这里选择的是数据流0。


        “DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;”选择循环模式,这里引用别人的理解,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值