stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库

1.开发板stm32f103c8系列,打开cubemx,选择单片机型号(实际可随自己的板子型号来)

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第1张图片

2.配置好相关rcc的HSE为外部晶振和sys的Debug模式

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第2张图片
其中sys的debug模式,我这里用的是DAP下载器,所以如下图,如果是其他下载器,建议自行百度如何选择。
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第3张图片

3.ADC的配置,实际按自己的需求来

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第4张图片
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第5张图片
相关dma配置,这里模式选择循环,这就不需要每次调用相关函数去获取adc的值了。因为是5个通道,所以Memory选择递增。另外这里的DMA的中断是默认开启的,实际在程序上是不用的,生成工程后,得注释掉DMA中断使能,不然会一直进中断(这种现象我也只在f103和f334中见到)
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第6张图片

4.时钟树的配置,按照自己的板子来配置就行

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第7张图片

5.项目的相关配置

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第8张图片
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第9张图片
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第10张图片

6.生成工程,并打开相关工程

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第11张图片
打开main.c(另加一个adc校准)
stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第12张图片

7.编译程序,下载到板子上即可

stm32-利用cubemx创建多路adc采集并开启DMA进行搬运,基于HAL库_第13张图片

8.完毕

你可能感兴趣的:(单片机,Stm32)