summaryrefslogtreecommitdiff
path: root/examples/rp2/pio_exec.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/rp2/pio_exec.py')
-rw-r--r--examples/rp2/pio_exec.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/examples/rp2/pio_exec.py b/examples/rp2/pio_exec.py
new file mode 100644
index 000000000..d8cbc33ef
--- /dev/null
+++ b/examples/rp2/pio_exec.py
@@ -0,0 +1,27 @@
+# Example using PIO to turn on an LED via an explicit exec.
+#
+# Demonstrates:
+# - using set_init and set_base
+# - using StateMachine.exec
+
+import time
+from machine import Pin
+import rp2
+
+# Define an empty program that uses a single set pin.
+@rp2.asm_pio(set_init=rp2.PIO.OUT_LOW)
+def prog():
+ pass
+
+
+# Construct the StateMachine, binding Pin(25) to the set pin.
+sm = rp2.StateMachine(0, prog, set_base=Pin(25))
+
+# Turn on the set pin via an exec instruction.
+sm.exec("set(pins, 1)")
+
+# Sleep for 500ms.
+time.sleep(0.5)
+
+# Turn off the set pin via an exec instruction.
+sm.exec("set(pins, 0)")