469345e728
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>
28 lines
599 B
Python
28 lines
599 B
Python
# 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)")
|