10661|4

11

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【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,回调函数

中断函数程序:
  1. from machine import Pin
  2. value=1
  3. counter=0
  4. def func(v):
  5.                     global value,counter
  6.                     counter+=1
  7.              led.value(value)
  8.                     if(value == 0):
  9.                  value = 1
  10.              else:
  11.                 value = 0
  12.              print("IRQ ",counter)
  13. led = Pin(14, Pin.OUT)
  14. led.value(0)
  15. button = Pin(0, Pin.IN)
  16. button.irq(trigger=Pin.IRQ_FALLING, handler=func)
  17. while True:
  18.       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数也会增加.这样我们就实现了中断的效果.



最新回复

io中断要考虑去抖么??  详情 回复 发表于 2018-3-26 10:22
点赞 关注(2)
 
 

回复
举报

1万

帖子

25

TA的资源

版主

沙发
 
格式都乱了。
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
中断的作用很多,楼主总结的挺好
个人签名小店 https://shop226970498.taobao.com/
主营 Esp8266初级教程、源码等,适用于菜鸟
 
 
 

回复

9

帖子

0

TA的资源

禁止发言

4
个人签名ESP32模块 ESP8266模块一站式物联网解决方案、系统解决方案、云平台支持。全球最高性价比15986635722 刘R
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(中级)

5
 
io中断要考虑去抖么??
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表