| 12345678910111213141516171819202122232425262728293031323334353637 |
- from machine import Pin, PWM
- import time
- from machine import Timer
- class WorckLed:
- def __init__(self, pin_num) -> None:
- self.led = Pin(pin_num, Pin.OUT)
- # self.tim = MyTimer(0)
- # self.tim.init(0, 1, self.blink)
- def on(self):
- self.led.value(1)
- print('on')
- def off(self):
- self.led.value(0)
- print('off')
- def blink(self, tim):
- if self.led.value():
- self.tim.init(1, 1200, self.blink)
- self.off()
- else:
- self.tim.init(1, 5, self.blink)
- self.on()
- # 协程的方式
- import uasyncio
- async def work_led_blink(led=Pin(2, Pin.OUT), on_t=10, off_t=1200):
- while True:
- led.value(1)
- await uasyncio.sleep_ms(on_t)
- led.value(0)
- await uasyncio.sleep_ms(off_t)
- if __name__ == '__main__':
- # led = WorckLed(2)
- uasyncio.run(work_led_blink(led=Pin(2, Pin.OUT), on_t=10, off_t=1200))
|