Advertisement
DeaD_EyE

Micropython: Blink with timer

Jun 12th, 2022
1,295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.59 KB | None | 0 0
  1. import time
  2. from machine import Timer, Pin
  3.  
  4.  
  5. def start_blink(pin, delay_ms):
  6.  
  7.     def callback(timer):
  8.         pin(not pin())
  9.  
  10.     timer = Timer(-1)
  11.     # RP2040 does not support hardware timers
  12.     # -1 stands for software timer
  13.  
  14.     timer.init(period=delay_ms, mode=Timer.PERIODIC, callback=callback)
  15.     return timer
  16.  
  17.  
  18. def stop_blink(pin, timer):
  19.     timer.deinit()
  20.     while pin():
  21.         pin.off()
  22.         time.sleep_us(100)
  23.  
  24.  
  25.  
  26. led = Pin(4, Pin.OUT)
  27. # LED: RP Pico
  28. # led = Pin(25, Pin.OUT)
  29.  
  30. led_timer = start_blink(led, 100)
  31. time.sleep(2)
  32. stop_blink(led, led_timer)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement