用irq函数中断来控制小灯亮灭

from machine import Pin
import time 
key1 = Pin(14, Pin.IN,Pin.PULL_UP)
key2 = Pin(27, Pin.IN,Pin.PULL_UP)
key3 = Pin(26, Pin.IN,Pin.PULL_UP)
key4 = Pin(25, Pin.IN,Pin.PULL_UP)
led1 = Pin(15, Pin.OUT)
led2 = Pin(2, Pin.OUT)
led3 = Pin(0, Pin.OUT)
led4 = Pin(4, Pin.OUT)
i_led1,i_led2,i_led3,i_led4=0,0,0,0
def light1(key1):
    global i_led1
    time.sleep_ms(10)
    if key1.value()==0:
        i_led1=not i_led1
        led1.value(i_led1)

def light2(key2):
    global i_led2
    time.sleep_ms(10)
    if key2.value()==0:
        i_led2=not i_led2
        led2.value(i_led2)
def light3(key3):
    global i_led3
    time.sleep_ms(10)
    if key3.value()==0:
        i_led3=not i_led3
        led3.value(i_led3)       
def light4(key4):
    global i_led4
    time.sleep_ms(10)
    if key4.value()==0:
        i_led4=not i_led4
        led4.value(i_led4)  
if __name__=="__main__":
   
         led1.value(i_led1)#初始化led状态
         led2.value(i_led2)
         led3.value(i_led3)
         led4.value(i_led4)
         key1.irq(light1,Pin.IRQ_FALLING)
         key2.irq(light2,Pin.IRQ_FALLING)
         key3.irq(light3,Pin.IRQ_FALLING)
         key4.irq(light4,Pin.IRQ_FALLING)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值