|
【esp8266 micropython】之四 micropython 中断教程
[复制链接]
本帖最后由 Chocho 于 2017-3-7 17:59 编辑
外部中断mode:Pin.IN 输入
Pin.OUT 输出
value:输出电平
Pin.value([value])不带参数时是读取输入电平,带参数时是设置输出电平,参数是1/0.
Pin.irq(*,trigger, handler=None)
中断
trigger,触发方式
Pin.IRQ_FALLING,下降沿 Pin.IRQ_RISING,上升沿 Pin.IN,上升下降沿
handler,回调函数
中断函数程序:- from machine import Pin
- value=1
- counter=0
- def func(v):
- global value,counter
- counter+=1
- led.value(value)
- if(value == 0):
- value = 1
- else:
- value = 0
- print("IRQ ",counter)
- led = Pin(14, Pin.OUT)
- led.value(0)
- button = Pin(0, Pin.IN)
- button.irq(trigger=Pin.IRQ_FALLING, handler=func)
- while True:
- pass
复制代码
这里呢,我就不用 怎么样找到端口号、怎样进入esp8266 micropython的编译环境了,不明白的可以去参考之前发布的几篇文档.
如下图我们在进入编译环境后,按照之前教的方法,把我们的中断程序粘贴进去.
之后按Ctrl+d完成粘贴并运行程序.此时输出了,这就代表我们的程序是没有问题的而且已经正在执行了,这个时候呢,在我们的esp8266开发板上,可以看到led灯处于熄灭的状态.
file:///C:\Users\Dell\AppData\Roaming\Tencent\Users\1137717512\QQ\WinTemp\RichOle\8GIJ186YJ)]8OURIJ@(]]JD.png
file:///C:\Users\Dell\AppData\Roaming\Tencent\Users\1137717512\QQ\WinTemp\RichOle\8GIJ186YJ)]8OURIJ@(]]JD.png
我们在板子的GPIO0口接一根杜邦线,此时用杜邦线的另一端去碰一下其他引脚,会有如下图的效果,同时没接触一下,led灯就会闪烁一下,counter数也会增加.这样我们就实现了中断的效果.
|
|