【问题标题】:Lua - nil value errorLua - 零值错误
【发布时间】:2017-01-18 09:54:30
【问题描述】:

我从 esp8266 上的 nodeMCU 收到以下错误消息: 尝试调用字段“adc.force_init_mode”(零值)。 有人能指出错误吗?

if adc.force_init_mode(adc.INIT_ADC) 
  then
    node.restart()
  return
end
val = adc.read(0)
print("Input number:", val )
val2 = 5000000 - (val*5000000/1023)
print("R (ohm):", val2 )

【问题讨论】:

  • 你有adc = require 'adc'吗?
  • 如果可能,请将其放在 您提供的 sn-p 之前。
  • 您需要更多信息吗?如果没有,请考虑accepting (and/or upvoting) the answer,以便 SO 将其标记为已回答。

标签: lua esp8266 nodemcu adc


【解决方案1】:

您的固件要么没有编译 ADC 模块,要么有一个没有 force_init_mode 函数的 ADC 模块。

因此,build 是最新的固件,flash it to upgrade 您当前的固件。

【讨论】:

  • 那您在索引 adc 时不会出错吗? adc 显然是他版本中的表格。也许一些旧版本的 adc 模块没有实现 force_init_mode?修复当然是一样的。
  • 是的,但我怀疑上述描述中的错误消息是否 100% 准确。 http.foo() 产生“尝试调用字段 'foo'...”,而 bar.foo() 产生“尝试索引全局 'bar'”。请注意,在 OP 的问题中,它显示“...field 'adc.force_init_mode'”(额外的 'adc.')。无论如何我都会更新答案。
  • 哦,完全错过了:)
  • 谢谢!我在上传内置固件时遇到问题...我正在努力解决这个问题!
猜你喜欢
  • 2019-01-06
  • 2015-06-15
  • 2014-05-27
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 2014-01-26
  • 2016-06-21
  • 2012-10-23
相关资源
最近更新 更多