在我的NodeMCU中使用Lua和GPIO模块时,最高值和最低值是相反的。
我从NodeMCU自定义构建:Link下载了我的构建
要打开ESP8266上的蓝色发光二极管,通常需要将GPIO引脚0设置为高电平。对我来说发生的事情是我必须将它设置为低。
这是我在串行控制台中执行的,以点亮蓝色LED:
gpio.write(0, gpio.LOW)如果我将这个引脚直接连接到地面,它也会亮起我认为正确的蓝色LED。
是什么导致我的低值和高值在NodeMCU中被错误读取
发布于 2017-09-07 13:01:31
这是正常现象-板载LED在低值时亮起,在高值时熄灭。我已经用Lua和Arduino对它们进行了编程,板载LED的工作方式也是一样的。
尝试将普通LED连接到同一针脚。您将注意到它是相反的--它将在高值时打开,在低值时关闭。
发布于 2017-09-07 13:23:57
高表示引脚被设置为电源电压(它是“源”电压),低意味着它被设置为0V (它是“接收”电压)。
假设这块板和大多数板一样布线,这是发光二极管的粗略示意图(请注意,gpio.write中的"0“指的是每个diagram here的GPIO16硬件引脚):Diagram of the GPIO16 pin
您可以看到二极管是“指向”的方向,电流应该流经它,使二极管发光,这是“朝向”GPIO16。因此,为了让电流流动,您需要将GPIO16设置为低(0V),以便存在电压差。否则,二极管的两边都是3.3V,没有电流流动。
https://stackoverflow.com/questions/46087828
复制相似问题