NodeMCU lua: adc.readvdd33() 在ESP8266上始终返回65535

我正在尝试读取系统电压,但 adc.readvdd33() 始终返回 65535 .

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

if (adc.force_init_mode(adc.INIT_VDD33)) then
  node.restart()
  return
end
print("系统电压(mV):", adc.readvdd33(0))

输出:

NodeMCU 3.0.0.0,在 nodemcu-build.com 上构建,由 frightanic.com 提供
    分支:master
    提交:310faf7fcc9130a296f7f17021d48c6d717f5fb6
    发布:3.0-master_20190907
    发布 DTS:201909070945
    SSL:true
    构建类型:float
    LFS:0x0
    模块: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,由 Lua 5.1.4 驱动,在 SDK 3.0.1-dev(fce080e) 上运行
系统电压(mV):65535

我已经了解到旧版本 SDK 存在这个问题,是否类似或者我做错了什么?即使我使用 ESP01、ESP01S 和 ESP12F,结果也是一样的。 在使用其他软件包或连接到特定引脚时,使用 adc 是否存在限制?

点赞
用户131929
用户131929

很不幸,这是一个已知的 bug。我们正在 issue 2925 中追踪它,详细信息请参见 https://github.com/nodemcu/nodemcu-firmware/issues/2925

2020-01-05 23:07:04