文章目录
- 前言
- 1.CubeMx的配置步骤
- 3.测试代码
- 4.演示效果
- 总结
前言
之前蓝桥杯程序中使用的是查询方式的ADC,缺点是当采集通道多的时候会导致CPU速率变低从而导致查询ADC代码之后的程序会被阻塞。而DMA就不会,DMA会绕开CPU直接传输。
1.CubeMx的配置步骤
修改之前的双路ADC的ioc文件来生成工程。
三个引脚(PA4,PA5,PB15)都要single-ended模式
按照通道数目确定转换数目
配置好DMA
点击GENERATE CODE生成代码
至此工程就建立完毕了。
3.测试代码
创建一个16位长度为3的数组(注意一定要是16位的否则会导致接收出错)
开启ADC的DMA就可以了。
4.演示效果
adc[0],adc[1],adc[2]分别代表这Rank1,Rank2,Rank3通道的值。
总结
以上就是多路ADC+DMA采集的配置过程,测试代码以及测试效果