STM32 DMA模式ADC多通道采集

本文介绍了如何在STM32中使用DMA模式进行ADC多通道数据采集。通过配置ADC采样周期、设置GPIO和DMA,实现ADC通道0、1和2的数据自动存入ADC_ConvertedValue数组。并提醒注意采样速度可能影响数据准确性,建议适当延长采样周期并进行数据处理,如求平均值。
摘要由CSDN通过智能技术生成

ADC采样基准电压3.3V    3个通道采集数据

采集数据存放位置

ADC_ConvertedValue[0]

ADC_ConvertedValue[1]

ADC_ConvertedValue[2]

三个值对应ADC三个通道采集出来的值

实际使用过程中如果电压过大 可以分压 之后传给ADC 这时计算实际电压时也要乘以分压时的倍数   基准电压要稳定 不稳定的时候会出现计算误差。

ADC通道17内部基准值会更稳 ADC_CHANNEL_17,基准电压使用通道17会更准确,这个就是用来做ADC的基准值的,不然用稳压芯片稳定外部电压,来做参考。

ADC多通道采集时,采集转换之后数据会自动赋给我们传进去的参数ADC_ConvertedValue,然后进行下一个通道或者下一次的数据采集转换。

 

采集周期太快会出现采集数据失败的情况,所以在不影响使用的情况下ADC采样周期加长一点(ADC_SAMPLETIME_160CYCLES_5)

 

采集数据尽量多一点 做一下数据处理  比如:平均值求法

 

 

STM32L051c8T6ADC配置如下:

void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc)

{

  GPIO_InitTypeDef                 GPIO_InitStruct;

  static DMA_HandleTypeDef         DmaHandle;

  

  /*##-1- 打开时钟#################################*/

  /* Enable GPIO clock ****************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值