NodeMCU lua: adc.readvdd33() 在 ESP8266 上总是 returns 65535

NodeMCU lua: adc.readvdd33() always returns 65535 on ESP8266

我正在尝试读取系统电压,adc.readvdd33() 总是 returns 65535。

这是我正在使用的代码,显然与文档中的代码一样:

if (adc.force_init_mode(adc.INIT_VDD33)) then
  node.restart()
  return
end
print("System voltage (mV):", adc.readvdd33(0))

输出:

NodeMCU 3.0.0.0 built on nodemcu-build.com provided by frightanic.com
    branch: master
    commit: 310faf7fcc9130a296f7f17021d48c6d717f5fb6
    release: 3.0-master_20190907
    release DTS: 201909070945
    SSL: true
    build type: float
    LFS: 0x0
    modules: adc,bme280,dht,enduser_setup,file,gpio,i2c,mqtt,net,node,rtcmem,rtctime,sjson,sntp,tmr,uart,wifi,tls
 build 2020-01-03 12:07 powered by Lua 5.1.4 on SDK 3.0.1-dev(fce080e)
System voltage (mV):    65535

我在旧的 SDK 版本中读到过这个问题,这是类似的东西还是我做错了什么? ESP01、ESP01S 和 ESP12F 也是如此。 将 adc 与其他封装一起使用或将某些东西连接到特定引脚是否有限制?

不幸的是,这是一个已知错误。我们正在 issue 2925 中跟踪它,详情请参阅 https://github.com/nodemcu/nodemcu-firmware/issues/2925