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

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

作者:互联网

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

3.时钟树配置:
在这里插入图片描述

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

上结果图(通道5接着3.3V,通道6接着GND):在这里插入图片描述
感谢浏览阅读!

标签:DMA,配置,Stm32CubeMx,采集,ADC,串口,CPU
来源: https://blog.csdn.net/qq_42289734/article/details/123100108