STM32f103Hal库学习笔记——ADC转换DMA输出


前言

因为项目需要用到采集电压,与双舵机电位器的位置输出,所以记录一下速成adc的过程。


一、CubeMX配置

1.ADC配置

这里选择3个通道,从上到下配置依次是:
ADC独立模式;
右对齐(adc为14位数据,而寄存器是16位的,所以涉及到左对齐和右对齐);
扫描模式:开(多个通道需要打开,需要把通道数那个设成了比1大的数才能打开);
连续扫描:开;
规则通道:开;
通道数:3;
然后依次设置每一个通道的扫描顺序和采样周期数(转换时间为:(采样周期数+12.5)*(1/adc时钟频率),adc时钟频率不能高于14MHz,且越大采样越不准确)

2.DMA配置

在这里插入图片描述
打开DMA,传输方向为外设到内存,循环发送,内存地址递增,每个数据大小为半字

二、keil代码

在这里插入图片描述
然后ADC和DMA就算配置完成了,可以直接调用HAL_ADCEx_Calibration_Start()函数校准ADC,然后调用HAL_ADC_Start_DMA(&hadc1,(uint32_t *)(&adc_data),1)将每时刻DMA收到的ADC数据保存到adc_data数组里面,然后就算完成了。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值