【esp8266 micropython】之四 micropython 中断教程-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7773|回复: 2

【esp8266 micropython】之四 micropython 中断教程

[复制链接]
发表于 2017-3-7 10:13 | 显示全部楼层 |阅读模式
本帖最后由 Chocho 于 2017-3-7 10:56 编辑

modePin.IN  输入
             Pin.OUT 输出
value:输出电平
Pin.value[value]不带参数时是读取输入电平,带参数时是设置输出电平,参数是1/0.
Pin.irq(*,trigger, handler=None)
中断
trigger,触发方式
Pin.IRQ_FALLING,下降沿
Pin.IRQ_RISING,上升沿
Pin.IN,上升下降沿
handler,回调函数

中断函数程序:

    [mw_shl_code=bash,true]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
[/mw_shl_code]
这里呢,我就不用 怎么样找到端口号、怎样进入esp8266 micropython的编译环境了,不明白的可以去参考之前发布的几篇文档. 如下图我们在进入编译环境后,按照之前教的方法,把我们的中断程序粘贴进去.


之后按Ctrl+d完成粘贴并运行程序.此时输出了<IRQ>,这就代表我们的程序是没有问题的而且已经正在执行了,这个时候呢,在我们的esp8266开发板上,可以看到led灯处于熄灭的状态.
8GIJ186YJ)]8OURIJ@(]]JD.png

我们在板子的GPIO0口接一根杜邦线,此时用杜邦线的另一端去碰一下其他引脚,会有如下图的效果,同时没接触一下,led灯就会闪烁一下,counter数也会增加.这样我们就实现了中断的效果.
0[HIE_}7)$HDS2NG_LBF2QM.png

发表于 2017-3-7 19:48 | 显示全部楼层
esp8266上能写多少python代码?
 楼主| 发表于 2017-3-9 11:41 | 显示全部楼层
吹口琴的钢铁侠 发表于 2017-3-7 19:48
esp8266上能写多少python代码?

看下flash剩余容量就知道了  另外可以扩展sd卡,就可以无限制的写了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:39 , Processed in 0.099369 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表