当使用ESP8266并通过WebRepl将文件发送到开发板时,我可以在直接在控制台中键入时使用机器模块。但是,当我发送将机器模块导入板卡并将其导入控制台并运行该方法的Python脚本时,使用该模块的代码无法运行。我可以访问其他模块并运行发送到板上的其他代码。同样,在编写Python脚本时,导入机器模块也会显示为错误。
有人可以告诉我从MicroPython导入machine
模块时我在做什么吗?
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
for n in range(1,30):
led.on()
sleep(1)
led.off()
答案 0 :(得分:1)
它的工作原理如下(ESP8266,Nodemcu):
from machine import Pin
from utime import sleep
led = Pin(2, Pin.OUT) #GPIO2/D4
for n in range(1,30):
led.value(0) #on
sleep(1)
led.value(1) #off
sleep(1)
当心:
led.value(0)处于打开状态,
led.value(1)然后关闭,
从utime导入睡眠,因为它是micropython而不是python,
您的循环公式也很糟糕,我在最后添加了 sleep(1)
答案 1 :(得分:0)
确保您要尝试在micropython板上而不是在PC上运行程序。如果您使用的是Thonny Python IDE,请转到运行>选择解释器。然后选择micropython(ESP8266)和合适的端口。
答案 2 :(得分:-1)
查看代码后,大部分时间将在esp8266的MicroPython控制台上运行。我在为esp8266编写的程序中找到了我必须先导入机器然后导入时间。
import machine
import time
LED4.Pin(4, machine.Pin.OUT, value=0)
这应该运行,并将引脚4的值设置为0或较低。您会注意到我没有使用from machine import Pin。
以我的经验,如果您以以下方式运行
from machine import Pin
程序无法正常运行,我不记得该错误,只是它没有运行。
其次,如果闪光灯不工作,将发生错误。您认为它已闪烁,但是会发生类似这样的错误错误。使用esptool安装程序以最新的稳定MicroPython刷新esp8266,如果以上操作无效,则应解决错误。我两个实例都为我工作。