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

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

3天内不再提示

GD32 ADC内部通道采样异常原因

聚沃科技 2024-01-26 09:45 次阅读

熟悉GD32的小伙伴都知道,ADC除了可以采集IO口上的电压外,还有两个内部通道,分别为内部温度传感器通道(ADC0_CH16)和Vrefint通道(ADC0_CH17),其中内部温度传感器通道可以采集芯片周围的温度(注意,这个温度通道适用于采集相对温度,如果用来测试绝对温度,是有一定的误差哦),Vrefint是一个稳定的带隙基准电压,典型值为1.2V。

有的小伙伴反馈使用这两个内部通道时,始终得不到转换数据,那么可能的原因有哪些呢?

原因一:

使用ADC的外部通道即IO电压时,将IO口配置为模拟模式,

wKgZomWzDmiAGoXlAABF4RuCVXs186.png

然后配置ADC就可以正常工作了,而由于内部通道不需要配置IO口,所有有的小伙伴就直接将IO口的配置去除,但此时发现内部通道始终没有数据。

wKgaomWzDmyAFGZpAAE-seG1x8U131.png

这是因为ADC的配置中少了一个关键的函数,那就是adc_tempsensor_vrefint_enable:

wKgZomWzDnKAN7zAAAA77ctDYS4267.png

这个函数是用来打开ADC内部通道的,需要在ADC使能前调用,否则就没办法正常使用内部通道哦。

原因二:

我们知道同一个IO口可以给多个ADC单元来使用,比如PA0,从datasheet中可以看出可以用于ADC0、ADC1或ADC2的通道0

wKgZomWzDniACsFoAAA5AlZlBSQ774.png

所以很多小伙伴想当然的认为内部通道也可以给ADC1或ADC2来使用,但其实GD32的用户手册中已经明确的指出内部通道只能用于ADC0:

wKgaomWzDoGAB2ZpAAGTtkDOTf4531.png

所以你用ADC1或ADC2去转换,当然是不行的啦。

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

    关注

    6032

    文章

    44516

    浏览量

    633017
  • IO
    IO
    +关注

    关注

    0

    文章

    435

    浏览量

    39080
  • adc
    adc
    +关注

    关注

    98

    文章

    6438

    浏览量

    544095
  • GD32
    +关注

    关注

    7

    文章

    403

    浏览量

    24221
收藏 人收藏

    评论

    相关推荐

    GD32开发实战指南(基础篇) 第14章 内部温度传感器

    GD32 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA)。该温度传感器在内部和 ADCx_IN16 输入通道相连接,此通道
    的头像 发表于 05-17 08:58 5246次阅读
    <b class='flag-5'>GD32</b>开发实战指南(基础篇) 第14章 <b class='flag-5'>内部</b>温度传感器

    GD32 ADC内部通道采样异常原因#GD32 #单片机 #嵌入式开发 #ADC

    单片机mcu
    聚沃科技
    发布于 :2024年01月26日 09:54:01

    ADuc7023 ADC采样异常

    我们的产品单片机以后,ADC采样全部异常,具体表现如下: 开发板上电源电压采样出来大约是3.3V,温度采样大约是32度左右,另外有三个
    发表于 02-28 14:16

    怎样使用软件触发读取GD32ADC

    GD32ADC有很多模式,这里教大家使用最简单的软件触发读取ADC,我使用的芯片是 GD32F350K8U6使用步骤1.初始化IO引脚设置为模拟输入模式2.初始
    发表于 01-26 07:05

    GD32是否有内部的晶振?

    能用GD32内部晶振作为时钟源吗
    发表于 10-10 06:35

    GD32GD32读取ADC数据

    GD32ADC有很多模式,这里教大家使用最简单的软件触发读取ADC,我使用的芯片是 GD32F350K8U6使用步骤1.初始化IO引脚设置为模拟输入模式2.初始
    发表于 12-02 15:06 28次下载
    【<b class='flag-5'>GD32</b>】<b class='flag-5'>GD32</b>读取<b class='flag-5'>ADC</b>数据

    GD32GD32设置TIMER0输出PWM

    GD32ADC有很多模式,这里教大家使用最简单的软件触发读取ADC,我使用的芯片是 GD32F350K8U6使用步骤1.初始化IO引脚设置为模拟输入模式2.初始
    发表于 12-02 15:06 23次下载
    【<b class='flag-5'>GD32</b>】<b class='flag-5'>GD32</b>设置TIMER0输出PWM

    GD32GD32 DMA+ADC通道扫描

    芯片:GD32F350 运行在8M目标:每10ms读取三个adc通道,并且通过DMA传输流程1.配置DMA传输2.配置ADC模式和通道3.配
    发表于 12-02 15:06 21次下载
    【<b class='flag-5'>GD32</b>】<b class='flag-5'>GD32</b> DMA+<b class='flag-5'>ADC</b>多<b class='flag-5'>通道</b>扫描

    GD32 485发送异常最常见原因

    相信有小伙伴们遇到过这样的问题,在使用GD32进行串口485发送的时候,明明发送了特定长度的数据,但从机就是不响应,现在就让我们来解析下最常见的一个原因
    的头像 发表于 01-16 09:39 1143次阅读
    <b class='flag-5'>GD32</b> 485发送<b class='flag-5'>异常</b>最常见<b class='flag-5'>原因</b>

    GD32 串口接受异常的几个原因

    前面我们介绍过GD32 485发送时出现异常的最常见原因,有小伙伴反馈想要知道GD32 串口接受异常的可能
    的头像 发表于 01-18 09:57 4114次阅读
    <b class='flag-5'>GD32</b> 串口接受<b class='flag-5'>异常</b>的几个<b class='flag-5'>原因</b>

    如何通过GD32 MCU内部ADC参考电压通道提高采样精度?

    ADC采样精度受很多因素影响,比如电源波动、参考电压波动、输入信号波动等,GD32 MCU内部提供了一个参考电压通道,理论上可以优化由于电源
    的头像 发表于 02-26 09:14 2180次阅读
    如何通过<b class='flag-5'>GD32</b> MCU<b class='flag-5'>内部</b><b class='flag-5'>ADC</b>参考电压<b class='flag-5'>通道</b>提高<b class='flag-5'>采样</b>精度?

    GD32 MCU ISP失败的原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败的原因是什么呢?
    的头像 发表于 02-28 09:23 1391次阅读
    <b class='flag-5'>GD32</b> MCU ISP失败的<b class='flag-5'>原因</b>

    GD32 MCU内部温度传感器如何使用,以及适合哪种应用场景?

    GD32 MCU全系列产品均内置温度传感器,内部温度传感器可以用于测量器件周围温度及变化,传感器的输出电压连接到ADC的第16通道,可被ADC
    的头像 发表于 02-28 09:26 1846次阅读
    <b class='flag-5'>GD32</b> MCU<b class='flag-5'>内部</b>温度传感器如何使用,以及适合哪种应用场景?

    GD32断上电采样相同电压有偏差如何处理?

    大家是否碰到过使用GD32 MCU断上电采样相同的电压存在偏差的情况?如果在上电正常运行的情况下,采样相同的直流电压,ADC采样数值都比较稳
    的头像 发表于 02-29 09:44 768次阅读
    <b class='flag-5'>GD32</b>断上电<b class='flag-5'>采样</b>相同电压有偏差如何处理?

    GD32 ADC转换时间如何计算?

    GD32 MCU当前产品的ADC都是SAR ADC,它有着转换速度快,精度高的优点,刚好适合在一些需要快速ADC转换的场合使用,比如电机应用。那么小伙伴们知道如何计算
    的头像 发表于 03-04 09:33 2266次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>ADC</b>转换时间如何计算?