MicroPython PIO API 深度解析:StateMachine/PIO 类方法与指令全指南

软件控制方法

通过 MicroPython 控制树莓派 Pico 的 PIO 时,需要使用 @rp2.asm_pio 装饰器以及 PIO 类和 StateMachine 类:

  • pioasm 汇编程序在 @rp2.asm_pio 装饰器函数中编写,使用的引脚 GPIO 映射、是否启用自动推出和自动加载、合并 FIFO 等也在 rp2.asm_pio 类中指定
  • 通过 StateMachine 类配置状态机实例以运行给定的 PIO 程序,同时 StateMachine 类也提供了状态机的控制方法和状态读取方法

1.rp2.StateMachine 类的构造方法

rp2.StateMachine 类的构造方法如下:

ScreenShot_2026-06-08_175833_219.png

2.rp2.StateMachine 类的其他方法

rp2.StateMachine 类还有初始化方法、设置或获取运行方法、重启方法等:

ScreenShot_2026-06-08_175926_556.png
ScreenShot_2026-06-08_175959_131.png

3.rp2.PIO 类的构造方法

rp2.PIO 类的构造方法如下:

ScreenShot_2026-06-08_180038_432.png

4.rp2.PIO 类的其他方法

ScreenShot_2026-06-08_180053_976.png

5.组装 PIO 汇编程序的函数

用于组装 PIO 汇编程序的函数有三个:

ScreenShot_2026-06-08_180126_768.png
ScreenShot_2026-06-08_180141_544.png

此外,如果汇编 PIO 程序时出现错误,则会从 asm_pio() 或 asm_pio_encode() 引发 rp2.PIOASMError,class rp2.PIOASMError 是专用于 PIO 的异常类。

6.MicroPython 中的 PIO 指令

在 MicroPython 中,PIO 汇编例程被编写为带有装饰器 @rp2.asm_pio() 的 Python 函数,并且它们使用 Python 语法。此类例程支持标准 Python 变量和算术,以及以下对 PIO 指令进行编码并指导汇编器的自定义函数。
ScreenShot_2026-06-08_180217_096.png
ScreenShot_2026-06-08_180243_761.png
ScreenShot_2026-06-08_180333_874.png

posted @ 2026-09-01 15:37  FreakStudio  阅读(5)  评论(0)    收藏  举报