GD32E230, VREFINT居然每次复位都会变?
以前用ADC很少用内部基准, 都是尽量加一个431什么的, 多用一个ADC通道读431再换算
这次偷懒用了VREFINT, 结果发现每次复位之后ADC采样结果相差挺大, 于是单独把VREFINT的值输出到串口再换算成电压试试.
一看吓一跳, 标称1.2V, 最低只有1.138V左右, 最高1.207V左右, 每次复位都不一样, 复位之后倒是挺稳定的.
是我哪里设置得不对吗? 还是这东西就这样... Temperature_Vref参考这个例程试试 是不是需要基准校验一下 你遇到的问题可能与VREFINT的初始化和配置有关。 如果你希望提高VREFINT的准确性,可以尝试使用外部参考电压源 那你就换成431这种校准芯片呗 我觉得可能是你硬件电路设计的问题? 外部供电不准吧,导致的基准电源不准 VREFINT是芯片内部的参考电压源,通常用于ADC的参考电压。在一些微控制器中,VREFINT的值可能会在每次复位后发生变化,这是正常现象 这种变化可能是由于芯片内部的温度、电压等环境因素引起的 为了稳定VREFINT的值,你可以在程序中在每次复位后重新校准VREFINT 其实可以校准的,校准方法可以参考芯片的数据手册或者参考手册。通常,校准VREFINT需要使用外部参考电压源或者通过测量已知电压值的方式来进行 我的理解是每次启动不一样是正常的,你校准一下呗 还是使用外部的基准电源吧,稳定有可靠 你这是不是用电量很大的啊,而且纹波好像也很大吧 内部参考电压通常在芯片内部生成,标称值可能会有一定的误差。它的精度和稳定性可能不如外部精密参考源,比如带有调整的外部基准电压如LM431。 内部参考电压的实际值可能会受到温度、芯片老化、供电电压等因素的影响。 在复位或初始化后,VREFINT和ADC可能需要一些时间来稳定。 这次偷懒用了VREFINT, 结果发现每次复位之后ADC采样结果相差挺大 某些单片机提供了内部基准电压的校准功能。检查您的单片机是否支持此功能,并按照数据手册中的指导进行校准。