ws2812模块存在问题,init()为nil,write()的使用与文档描述不符

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

使用以下自定义构建版本:

由frightanic.com制作的NodeMCU自定义构建版本

    分支: master

    提交: c8037568571edb5c568c2f8231e4f8ce0683b883

    SSL: false

    模块: bmp085,file,gpio,i2c,net,node,tmr,uart,wifi,ws2812

构建时间: 2016-05-24 13:48

Lua 5.1.4和SDK 1.4.0支持

当我调用ws2812.init()时,在ESPlorer中得到以下输出:

> ws2812.init();
stdin:1: 试图调用'init'字段(空值)
堆栈追踪:
    stdin:1: 在主块中

在调用ws2812.write()时,我得到以下输出:

> ws2812.write(string.char(255,0,0,255,0,0));
stdin:1:不良参数#1'write'(需要数字,得到字符串)
堆栈追踪:
    [C]:在功能'write'stdin:1: 在主块中

看起来,ws2812模块存在,但是它的签名不同于文档中描述的(https://nodemcu.readthedocs.io/en/dev/en/modules/ws2812/)。

有什么想法吗? 谢谢,Gerd

点赞
用户131929
用户131929

你显然是使用了 http://nodemcu-build.com/ 来构建你的固件(声明:这是我的网站)。它允许你选择一个 NodeMCU 固件分支,目前有 masterdev

你发布的文档链接针对的是 dev 分支 (/en/ dev/en/modules/...)。RTD 自动转到 dev 分支,因为我们修改后的文档还未合并到 master 分支。如果你关心这个进展,你可能想关注一下 https://github.com/nodemcu/nodemcu-firmware/issues/1146

所以,只要从 dev 分支获取固件,你就准备好了。

2016-05-24 19:39:18