STM32-ADC单通道采集实验

实验要求:通过ADC1通道(PA1)采集电位器的电压,并显示ADC转换的数字量及换算后的电压值。

首先要确定最小刻度。

Vref=3.3V,所以输入电压有效范围在0V<=Vin<=3.3V,推导出最小刻度为 3.3V / 2^12(12位ADC)。

再确定转换时间。采样时间239.5个ADC时钟周期为例,可以得到转换时间为21us。

因为使用的是单通道,所以不使用扫描模式。因为未使用到DMA,所以使用单词扫描模式。

-----------------------------------------------------------------------------------------------------------------------

接下来介绍相关的HAL库函数:

1. HAL_ADC_Init():配置ADC工作参数;

2. HAL_ADCEx_Calibration_Start(): ADC校准;

3. HAL_ADC_MspInit(): 存放NVIC、CLOCK、GPIO初始化代码;

4.HAL_RCCEx_PeriphCLKConfig(): 设置扩展外设时钟,如:ADC、RTC等;

5. HAL_ADC_ConfigChannel(): 配置ADC相应通道的相关参数;

6. HAL_ADC_Start(): 启动A/D转换;

7. HAL_ADC_PollFortConversion(): 等待规则通道转换完成;

8. HAL_ADC_GetValue(): 获取规则通道通道A/D转换结果;

-----------------------------------------------------------------------------------------------------------------------

接下来介绍关键结构体:

1、ADC_HandleTypeDef g_adc_handle.Instance: ADC寄存器基地址;

2、g_adc_handle.Init.DataAlign: 数据对齐方式,有左/右对齐,一般选择右对齐;

3、g_adc_handle.Init.ScanConvMode: 扫描模式,此模式用于扫描一组模拟通道。通过ADC_CR1寄存器中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值