【STM32】hal库 多通道ADC(+DMA)采集 连续模式
项目场景:
使用STM32内部ADC做多通道ADC采集,为减小CPU开销,使用DMA模式。
cubemx操作步骤
1.手动输入STM32F103CBT6/STM32F103CBU6,选高速晶振,方便第二栏的时钟配置Clock Configuration
System Core–>RCC -->High Speed Clock(HSE)–>Crystal/Ceramic Resonator
2.配置下载SW模式
System Core–>SYS–>Dedug–>Serial Wire
添加DMA接受
3.配置串口1参数,添加DMA接受
Connectivity–>USART1–>Mode–>Asynchronous
Connectivity–>USART1–>Parameter Settings–>115200 8 N 1
Connectivity–>USART1–>DMA settings–>add 仅添加接受即可,通道自动分配,默认即可
5.配置FREERTOS
Middleware and Solft–>FREERTOS–>interface–>CMSIS_V1
Middleware and Solft–>FREERTOS–>Tasks and Queues–>Add 加两个任务即可
6.配置输出的参数,按如图配置即可
!注意路径不要出现中文
软件修改
注释ADC DMA的中断使能
打开main.c 添加变量(另加一个adc校准)
debug调试可以看到变量的值在跳动。
参考链接:https://m.fanyedu.com/article/119320.html