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

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

3天内不再提示

学习STM32F103的ADC功能

CHANBAEK 来源:三勺工作室 作者: 杨可困 2023-10-24 16:06 次阅读

踩坑STM32F103

三勺最近在学习STM32F103的ADC功能,居然连最简单的独立模式的单通道的电压采集都不能实现,这就不能忍了,这是对智商的侮辱。

目标一:实现单通道ADC读取

根据技术手册设置:

设置GPIO为模拟输入模式。

设置ADC1->CR2、ADC->SMPR1、

ADC0->SQR1寄存器

开启KEIL的Debug调试功能:

现象1:ADC1寄存器没有被配置。

原因和步骤:ADC1的RCC时钟位未开启。

现象2:ADC1->DATA数据寄存器全是0000

原因和步骤:

步骤1:烧野火例程源码,功能正常。硬件正常。

步骤2:调试模式下打开ADC寄存器视图,观察我和野火区别。更改成相同寄存器配置后依然无法读取ADC。

步骤3:再次回到数据手册,仔细查看ADC描述。

图片

破案了,我在程序中只有一次设置ADC位,即使和野火的例程寄存器配置完全相同,也无济于事。

目标二:实现多通道ADC+DMA

乘胜追击,继续配置

根据技术手册设置:

现象:DMA的目的地址缓存数组只有第一个值有效,而且其他通道的值都和通道1相同。

步骤1:烧野火例程源码,功能正常。硬件正常。

步骤2:调试模式下打开ADC寄存器视图,观察我和野火区别。更改成相同寄存器的配置后现象依旧。

步骤3:百度。

步骤4:瞎猫碰到死耗子,我把ADC1->CR1的扫描模式,放置在ADC1->CR2前,成功读取所有通道的数值。

为什么?我查询了一些资料,还不得而知,下图是标准库的配置顺序。知道原因的朋友欢迎留言指教。

图片

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • adc
    adc
    +关注

    关注

    95

    文章

    5651

    浏览量

    539460
  • STM32F103
    +关注

    关注

    33

    文章

    474

    浏览量

    62573
  • GPIO
    +关注

    关注

    16

    文章

    1133

    浏览量

    50570
收藏 人收藏

    评论

    相关推荐

    stm32f103芯片,ADC转换问题

    新手问题:stm32f103芯片,ADC转换问题,模拟引脚接PD0,ADC中读取第几通道?望高手解惑。
    发表于 07-02 14:57

    stm32f103adc配置

    stm32f103adc配置,STM32ADC是:12 位 ADC 是一种逐次逼近型模拟数字转换器。它有 18 个通道,可测量 16 个
    发表于 08-05 07:41

    如何对STM32F103 ADC寄存器进行配置

    STM32F103系列有几个ADCSTM32F103系列的ADC主要特征有哪些?如何对STM32F103
    发表于 09-27 09:08

    怎样去学习stm32f103

    为什么学习stm32f103?怎样去学习stm32f103
    发表于 10-11 07:16

    stm32f103ADC是如何去实现四路模拟信号采集的

    12位ADC是什么?stm32f103ADC有何功能stm32f103ADC是如何去实现四
    发表于 12-14 07:35

    如何学习STM32F103

    如何学习STM32F103
    发表于 02-23 07:04

    stm32f103系列引脚定义-功能

    本文介绍stm32f103系列芯片引脚功能定义如STM32F103C8T6,STM32F103RCT6等引脚图各个管脚的功能与使用。
    发表于 08-03 17:03 25.4w次阅读
    <b class='flag-5'>stm32f103</b>系列引脚定义-<b class='flag-5'>功能</b>图

    STM32F103封装方式与功能配置

    本文介绍STM32F103封装方式和STM32F103管脚功能的配置。
    发表于 08-03 17:44 2.1w次阅读
    <b class='flag-5'>STM32F103</b>封装方式与<b class='flag-5'>功能</b>配置

    STM32F103使用总结

    STM32F103使用总结
    发表于 10-24 10:22 151次下载

    stm32f103采集四路ADC并且显示到OLED上程序

    stm32f103采集四路ADC并且显示到OLED上程序
    发表于 01-16 18:07 181次下载

    stm32f030和stm32f103功能差异

    stm32f030和stm32f103功能差异主要表现在哪?
    的头像 发表于 07-22 09:35 2w次阅读

    STM32F103学习笔记三 串口通信

    STM32F103学习笔记三 串口通信
    发表于 11-25 09:06 71次下载
    <b class='flag-5'>STM32F103</b><b class='flag-5'>学习</b>笔记三   串口通信

    采用STM32F103硬件ADC功能进行光照强度采集

    光照强度采集ADC方式采集,STM32F103本身自带有硬件ADC功能。将采集到的数据实时刷新到屏幕上即可完成波形显示。
    的头像 发表于 05-31 11:32 6687次阅读
    采用<b class='flag-5'>STM32F103</b>硬件<b class='flag-5'>ADC</b><b class='flag-5'>功能</b>进行光照强度采集

    学习STM32F103的定时器功能

    三勺最近在学习STM32F103的定时器功能,本文主要解释在配置通用、基本、高级定时器寄存器实现相应功能时遇到的一些问题。
    的头像 发表于 10-24 15:49 1020次阅读
    <b class='flag-5'>学习</b><b class='flag-5'>STM32F103</b>的定时器<b class='flag-5'>功能</b>

    学习STM32F103的DAC功能

    三勺最近在学习STM32F103的DAC功能,本文主要解释在配置DAC寄存器实现相应功能时遇到的一些问题。
    的头像 发表于 10-24 16:00 1009次阅读
    <b class='flag-5'>学习</b><b class='flag-5'>STM32F103</b>的DAC<b class='flag-5'>功能</b>