Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)

用stm32CubeMX 可以轻松配置模拟电压数值采集,由于使用直接存储器DMA进行ADC数据采集无需一直占用着CPU线程,所以我们一般在需要多通道采集的情况下才使用DMA, 多路ADC采集在工业生产测量方面也很常用到,所以这个内容我们还是得尽量学到手,这篇内容就不写得太详细了,挑重点,如果不会使用CUBEMX配置KEIL工程的看我上一篇文章。
首先STM32CUBEMX配置方面:
1.RCC:
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
2 .SYS:
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)

3.时钟树配置:
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)

4.开启一个串口,只需要选择异步通信就行了,不需要配置串口中断或串口DMA,因为占CPU线程的是ADC的采集,采集之后我们用串口上发一下数据而已占不了多少时间:
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
5.多通道ADC配置,这里以两通道channel5、channel6为例:
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
6.ADC的DMA配置:Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
7.到此CUBEMX的任务已经完成了,可以生成mdk工程了,然后打开工程打开mani.c,添加所需要的程序,由于已经在程序中注释了,我就不在此打字描述,直接看图:Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
**最后需要注意应钩上使用microlib 再编译程序,才不会报错。
Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)

上结果图(通道5接着3.3V,通道6接着GND):Stm32CubeMx通过DMA获取多路ADC采集的数据(踩到坑的来看看,我也是一步步踩坑到实现的)
感谢浏览阅读!

上一篇:stm32F4/L4 UART学习汇总


下一篇:如何限制微信游戏只能在微信端打开?