yorkbarney 发表于 2025-2-26 14:26

STM32CubeMX的HAL库的DMA的多路ADC采集

1.选芯片打开cubemx,选择单片机型号(实际可随自己的板子型号来)。https://api.fanyedu.com/uploads/image/78/50df3080bf2a9f3453c10c3f2b7e38.jpg
2.配置好相关RCC的HSE为外部晶振和sys的Debug模式https://api.fanyedu.com/uploads/image/bd/3efd782e4163efd9118cdfe4092963.jpg其中sys的debug模式,我这里用的是DAP下载器,所以如下图,如果是其他下载器,建议自行百度如何选择。https://api.fanyedu.com/uploads/image/ce/0e1f892632c1a457fce5bab5c9ecc9.jpg3.ADC的配置,实际按自己的需求来https://api.fanyedu.com/uploads/image/2b/3362c1a61a61d702ac8afa97044680.jpghttps://api.fanyedu.com/uploads/image/99/3937cb3f680f0e78581ebe535dd2b6.jpg    相关dma配置,这里模式选择循环,这就不需要每次调用相关函数去获取adc的值了。因为是5个通道,所以Memory选择递增。另外这里的DMA的中断是默认开启的,实际在程序上是不用的,生成工程后,得注释掉DMA中断使能,不然会一直进中断(这种现象我也只在f103和f334中见到)。https://api.fanyedu.com/uploads/image/dd/1b6d2ad2ab997d0bee5084873b441b.jpg4.时钟树的配置,按照自己的板子来配置就行。https://api.fanyedu.com/uploads/image/c7/40d55e7743a3c2e2e8262580d27bf0.jpg5.项目的相关配置https://api.fanyedu.com/uploads/image/c8/e21d8c07353af9153e3a30db286eed.jpghttps://api.fanyedu.com/uploads/image/db/54178fd29750ad74fa6f3f4aa7c0fb.jpghttps://api.fanyedu.com/uploads/image/5a/726488b6d6f8d43de827744eb6f76f.jpg6.生成工程,并打开相关工程https://api.fanyedu.com/uploads/image/5b/017228527bbc8154a35a62cca5d232.jpg7.打开main.c(另加一个adc校准)https://api.fanyedu.com/uploads/image/fa/dea1fed376d178f16c24575d35f270.jpg
8.编译程序,下载到板子上即可https://api.fanyedu.com/uploads/image/63/b9bed5dcfe1d53aed13bf9673e6103.jpg






页: [1]
查看完整版本: STM32CubeMX的HAL库的DMA的多路ADC采集