蓝桥杯嵌入式第七课--ADC的配置与使用

文章介绍了在蓝桥杯比赛中的ADC基本使用方法,包括通过CubeMX配置PB12为ADC输入,设置为Singl-ended模式,然后在Keil程序中利用HAL_ADC_Start、HAL_ADC_GetValue和HAL_ADC_Stop函数进行读取和控制。示例代码展示了如何启动ADC,读取值并显示在LCD上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

蓝桥杯比赛中,ADC的使用和配置就像串口一样,比较固定简单,因此这节课介绍ADC的基础功能使用。

板载电路图

可以看出,PB15和PB12是作为ADC输入的两个引脚,这次实验,我们选择PB12作为ADC输入。

CubeMX配置

一、配置管脚

在电路图中将PB12管家的功能配置为ADC1_IN1。

二、参数配置

将IN11配置为Singl-ended即可,至此ADC的配置就已经完成,生成代码开始KEIL程序的编写:

Keil程序编写

ADC主要用到三个函数:

1、HAL_ADC_Start


HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc)//启动ADC
例句:
HAL_ADC_Start(&hadc1);
//该函数在每次读值前都要运行,因为默认读完一次值之后adc就关闭了

2、HAL_ADC_GetValue

uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef *hadc) //返回一个32位整数值
例句:
 val = (double)HAL_ADC_GetValue(&hadc1);

3、HAL_ADC_Stop

HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc)//关闭ADC

4、读值显示代码:

放到while循环中即可显示:

void LCD_Disp(void)
{
    HAL_ADC_Start(&hadc1); //启动ADC
    val = (double)HAL_ADC_GetValue(&hadc1); //读值
    sprintf(text,"  volitage =%.2f",val); //数据处理
    LCD_DisplayStringLine(Line4,(unsigned char*)text); //显示
}

总结

配置ADC总共就两部分:

  1. CubeMX配置相应管脚,设置为Singl-ended

  1. 每次读值前都要先启动 HAL_ADC_Start

  1. 读值使用value = HAL_ADC_GetValue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值