0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32_ ADC单通道单次采集

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-04-08 09:57 次阅读

今天讲解“STM32F103ADC单通道单次采集”功能。

今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。

每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cPGrE6DLHX24R 访问密码 de4f

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90

关于“STM32F103ADC单通道单次采集” 我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。

一、RCC时钟配置

该函数位于在bsp.c文件下面;

使能RCC时钟:RCC_APB2Periph_ADC1

二、引脚配置


该函数位于在adc.c文件下面;

对AD通道2所使用的引脚进行配置。

问题:

细心的人可能会发现数据手册中PA2引脚的复用功能是“ADC123_IN2”,我们明明使用的ADC1,为什么不是ADC1_IN2或者ADC2_IN2?

大家先想一下为什么是ADC123_IN2,最后我会揭晓答案。

三、ADC配置

该函数位于在adc.c文件下面;

对AD进行配置。

配置的每一条语句都有注释,请看源代码,重点讲一下“ADC_Channel_2”,这里必须和上面引脚配置对应起来,也就是通道的引脚配置一致才行。

四、电压检测


该函数位于在adc.c文件下面;

调用这个接口就可以采集电压值。

函数使用单通道单次,软件触发采样电压值,这里采样8次(更加自己情况可以选择多次),算平均,最后得出电压值(1000倍值)。

五、主函数应用


该函数位于在main.c文件下面;

主要就是采集电压,通过串口打印出来(1000倍值)。

六、揭晓ADC123_IN2

上面的问题有自己想明白了的吗?

其实很简单的,ADC123_IN2顾名思义,它就是包含了ADC1、ADC2、ADC3的IN2的意思。也就是说,你们使用ADC2的通道2也是这个“ADC123_IN2”通道。

方便大家学习,我把两个工程都上传至360云盘,不行的朋友可以亲自下载代码试试。

对比的软件工程下载地址:

https://yunpan.cn/cPGRAYZrdvdPf 访问密码 2ce1

我的软件工程排版格式都是严格按照一定的规范排版的,请参见:"软件编辑排版要求及说明.doc "

下载地址(360云盘):https://yunpan.cn/cPGHPUC6SETyG 访问密码6ca7

下载方式:长按网站 ->选择复制 ->打开

或者复制网站在电脑上下载也可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    95

    文章

    5642

    浏览量

    539276
  • STM32
    +关注

    关注

    2239

    文章

    10663

    浏览量

    348497
  • 单通道
    +关注

    关注

    0

    文章

    287

    浏览量

    18062
  • STM32F103
    +关注

    关注

    33

    文章

    474

    浏览量

    62543
收藏 人收藏

    评论

    相关推荐

    STM32F0 ADC通道转换,最后一个通道的EOC不置位是为什么?

    STM32F030 ADC采样序列中包括IN0,IN1,IN2三个通道,采用转换模式,软件触发启动,但是发现采样转换到最后一个
    发表于 04-16 06:34

    请问STM32L051K6T6 ADC的内部参考电压通道和其他通道不能共用吗?

    最近使用STM32L051K6T6采集信号,采集内部参考电压是准的,采集其它
    发表于 04-16 06:32

    STM32 ADC+DMA多路采集,使用DMA时,是不是要额外加上4倍的DMA传输时间?

    4通道采集时,按1-2-3-4-1顺序转换,一路通道的转换时间是(采样时间+12.5)周期,还是4 *(采样时间+12.5)周期?使用DMA时,是不是要额外加上4倍的
    发表于 03-26 07:44

    STM32定时器DMA输出单通道和双通道输出切换出现异常的原因?

    STM32定时器DMA输出单通道和双通道输出切换出现异常
    发表于 03-26 06:44

    关于STM32G474 ADC通道数据采集遇到的问题求解

    STM32G474 ADC时钟:168MHz/4=42MHz 分辨率 12bit 端输入 ADC1 采集6
    发表于 03-14 08:11

    使用STM32L031F6在hal库下进行ADC+DMA多通道采集采集的电压值始终为0的原因?

    使用STM32L031F6芯片 在hal库下进行ADC+DMA多通道采集时候,采集的电压值始终为0是什么原因?
    发表于 03-14 07:06

    使用STM32H743-ADC设置PLL2为时钟源为什么开启不了?

    我使用stm32H743生成代码,只使用一个ADC单通道采集数据,时钟设置如下所示 生成代码之后,增加了轮询模式和中断模式,然后将它下载到如下所示的开发板(
    发表于 03-12 08:30

    CKS32F4xx系列ADC单通道电压采集

    CKS32F4xx系列ADC单通道电压采集
    的头像 发表于 11-06 16:54 520次阅读
    CKS32F4xx系列<b class='flag-5'>ADC</b><b class='flag-5'>单通道</b>电压<b class='flag-5'>采集</b>

    CKS32F4xx系列ADC通道DMA电压采集

    CKS32F4xx系列ADC通道DMA电压采集
    的头像 发表于 11-06 16:53 374次阅读

    学习STM32F103的ADC功能

    三勺最近在学习STM32F103的ADC功能,居然连最简单的独立模式的单通道的电压采集都不能实现,这就不能忍了,这是对智商的侮辱。
    的头像 发表于 10-24 16:06 901次阅读
    学习<b class='flag-5'>STM32</b>F103的<b class='flag-5'>ADC</b>功能

    stm32g030多路adc DMA采集程序

    stm32g030_多路adc_DMA采集程序
    发表于 06-19 09:43 23次下载

    NUC230芯片ADC配置为通道1时,ADC值就固定为一个值是为什么?

    NUC230芯片程序初始化都是参照官方库例程来的,现在有一个问题,就是我配置扫描,通道0采集数据,ADC数据正确,
    发表于 06-15 06:54

    ADC单通道、多通道采集实例

    本文将通过ADC单通道、多通道采集功能对输入电压进行采样。
    的头像 发表于 04-25 09:48 2857次阅读
    <b class='flag-5'>ADC</b><b class='flag-5'>单通道</b>、多<b class='flag-5'>通道</b><b class='flag-5'>采集</b>实例

    CH32V103基础教程31-ADC-单通道中断读取方式

    本章主要在第十章ADC的基础上进行ADC单通道中断读取,在中断服务函数中读取ADC值。 1、ADC简介及相关函数介绍
    发表于 04-21 16:03

    CH32V103基础教程29-ADC单通道DMA读取方式)

    关于ADC,前面第十章已经对其基础配置和应用进行过讲解。但ADC功能繁多,它有多达18个通道,可测量16个外部和2个内部信号源,且各通道的A/D转换可以
    发表于 04-20 16:39