cubemx中的时钟及下载方式配置忽略,不了解的道友可以看我其他博客进行配置
打开cubemx中的adc打开4个通道
打开dma并配置
adc配置如下
要注意打开扫描模式及dma,还有ADC模式中的通道设置通道数,将触发方式改为定时器1,1通道触发
打开定时器配置相应频率的pwm即可,注意开启time的时钟设置为内部时钟
生成代码即可
在main.c中初始化pwm
HAL_TIM_Base_Start_IT(&htim1);HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
wile函数中添加
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_ConvertedValue,800);HAL_Delay (2);HAL_ADC_Stop_DMA(&hadc1);for (i=0;i<800;i++){HAL_Delay (10);printf("%.1f ",(double )ADC_ConvertedValue[i]);if((i+1)%4==0){printf(" \n ");}}
在最后重定义printf,记得添加#include "stdio.h"头文件
int fputc(int ch, FILE *f){HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);return ch;}
配置完毕下载运行即可
链接:/s/17_sdjil3Rz8tO15iGCP3ug
提取码:1111
如果觉得《stm32+cubemx+adc+time定时采集+dma多通道采集》对你有帮助,请点赞、收藏,并留下你的观点哦!