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前,成功读取所有通道的数值。

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

图片

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

    关注

    31

    文章

    5310

    浏览量

    119984
  • adc
    adc
    +关注

    关注

    98

    文章

    6430

    浏览量

    544060
  • STM32F103
    +关注

    关注

    33

    文章

    476

    浏览量

    63466
  • GPIO
    +关注

    关注

    16

    文章

    1196

    浏览量

    51904
收藏 人收藏

    评论

    相关推荐

    STM32F103各种形式封装

    STM32F103各种形式封装一起学习吧。
    发表于 04-28 15:35 10次下载

    stm32f103系列引脚定义-功能

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

    STM32F103封装方式与功能配置

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

    STM32F103使用总结

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

    stm32f103移植

    stm32f103移植
    发表于 10-27 09:03 43次下载
    <b class='flag-5'>stm32f103</b>移植

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

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

    STM32F103教程之STM32F103单片机的使用心得资料免费下载

    本文档的主要内容详细介绍的是STM32F103教程之STM32F103单片机的使用心得资料免费下载目前很火的设计STM32教程。
    发表于 09-26 08:00 254次下载

    STM32F103 CAN模板程序

    STM32F103 CAN模板程序
    发表于 11-09 11:08 67次下载
    <b class='flag-5'>STM32F103</b> CAN模板程序

    stm32f030和stm32f103功能差异

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

    STM32F103学习笔记三 串口通信

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

    STM32F103 模拟IIC时序

    STM32F103 模拟IIC时序
    发表于 11-25 09:51 34次下载
    <b class='flag-5'>STM32F103</b>  模拟IIC时序

    GD32F103STM32F103的区别 2021.6.2

    GD32F103STM32F103区别介绍关键词Key words:GD32F103STM32F103摘要Abstract:本文主要是GD32F
    发表于 12-08 11:06 83次下载
    GD32<b class='flag-5'>F103</b>与<b class='flag-5'>STM32F103</b>的区别 2021.6.2

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

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

    学习STM32F103的定时器功能

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