From 15b89e24315d02138c629ee44b5ecd14f38aa813 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Thu, 22 Aug 2024 09:43:22 +0200 Subject: [PATCH] Sources for the PIO Blog-Post --- blink-led-pio.py | 29 +++++++++++++++++++++++++++++ blink-led.py | 20 ++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 blink-led-pio.py create mode 100644 blink-led.py diff --git a/blink-led-pio.py b/blink-led-pio.py new file mode 100644 index 0000000..7a5e02f --- /dev/null +++ b/blink-led-pio.py @@ -0,0 +1,29 @@ +from machine import Pin +import rp2 +from time import sleep + +@rp2.asm_pio(set_init=rp2.PIO.OUT_LOW) +def blink(): + wrap_target() + set(pins, 1) [31] + nop() [31] + nop() [31] + nop() [31] + set(pins, 0) [31] + nop() [31] + nop() [31] + nop() [31] + wrap() + +led = machine.Pin(25, machine.Pin.OUT) +sm = rp2.StateMachine(0, blink, freq=2000, set_base=led) + +# StateMachine aktivieren + +sm.active(1) + +# Für 3 Sekunden laufen lassen. +sleep(3) + +# deaktivieren +sm.active(0) \ No newline at end of file diff --git a/blink-led.py b/blink-led.py new file mode 100644 index 0000000..8f9da29 --- /dev/null +++ b/blink-led.py @@ -0,0 +1,20 @@ +from machine import Pin +from utime import sleep + +led = machine.Pin(25, machine.Pin.OUT) +state = False +running = True + +#Endlosschleife + +led.off() +while True: + state = not state # state hin- und herschalten + sleep(1.0) + if state: + print('LED on') + led.on() +# running = False + else: + print('LED off') + led.off()