首页 文章

ws2812模块的问题 . init()是nil,write()不能像记录的那样工作

提问于
浏览
2

我正在尝试使用ESP8266和nodeMCU固件的Adafruit neopixel阵列 .

使用以下自定义构建:

NodeMCU自定义构建由frightanic.com分支:主提交:c8037568571edb5c568c2f8231e4f8ce0683b883 SSL:false模块:bmp085,文件,gpio,i2c,net,node,tmr,uart,wifi,ws2812 build build on:2016-05-24 13:48在SDK 1.4.0上由Lua 5.1.4提供支持

当我调用 ws2812.init() 时,这就是我在ESPlorer中得到的:

> ws2812.init();
stdin:1: attempt to call field 'init' (a nil value)
stack traceback:
    stdin:1: in main chunk

当调用 ws2812.write() 时,我得到这个输出:

> ws2812.write(string.char(255,0,0,255,0,0));
stdin:1: bad argument #1 to 'write' (number expected, got string)
stack traceback:
    [C]: in function 'write'
    stdin:1: in main chunk

似乎,模块ws2812以任何形式存在,但具有不同的签名,如文档所述(https://nodemcu.readthedocs.io/en/dev/en/modules/ws2812/) .

有任何想法吗?谢谢,格尔德

1 回答

  • 2

    你显然用http://nodemcu-build.com/构建了你的固件(免责声明:这是我的网站) . 它允许您选择NodeMCU固件分支,当前 masterdev .

    您发布的文档链接适用于 dev 分支(/ en / dev / en / modules / ...) . RTD会自动转发到 dev 分支,因为我们的修订文档尚未在主分支中 . 如果您关心这一进展,您可能想要关注https://github.com/nodemcu/nodemcu-firmware/issues/1146 .

    所以,只需从 dev 分支获取固件即可 .

相关问题