diff options
author | Damien George <damien@micropython.org> | 2021-01-21 00:34:08 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2021-01-30 00:42:29 +1100 |
commit | 469345e7285128739e2934e7934e107ffda79fc1 (patch) | |
tree | a410ce2d427770a01d5b6f4d1b3ff2fb342cd94b /examples/rp2/pio_exec.py | |
parent | ef3ee7aa1005cd1f15c2144d4b46feb792ab3185 (diff) |
rp2: Add new port to Raspberry Pi RP2 microcontroller.
This commit adds a new port "rp2" which targets the new Raspberry Pi RP2040
microcontroller.
The build system uses pure cmake (with a small Makefile wrapper for
convenience). The USB driver is TinyUSB, and there is a machine module
with most of the standard classes implemented. Some examples are provided
in the examples/rp2/ directory.
Work done in collaboration with Graham Sanderson.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'examples/rp2/pio_exec.py')
-rw-r--r-- | examples/rp2/pio_exec.py | 27 |
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)") |