2.8 FPIOA 模块 API 手册#

1. 概述#

FPIOA(Pin Multiplexer)模块主要负责配置物理引脚(PAD)的功能。在 SoC 中,虽然有多种功能可用,但由于引脚数量有限,多个功能可能会共享同一个 I/O 引脚。此时,每个引脚在同一时刻只能激活一种功能,因此需要通过 IOMUX(即 FPIOA)来选择合适的功能。

2. API 介绍#

FPIOA 类位于 machine 模块中。

示例

from machine import FPIOA

# 实例化 FPIOA 对象
fpioa = FPIOA()

# 打印所有引脚的配置
fpioa.help()

# 打印指定引脚的详细配置
fpioa.help(0)

# 打印指定功能的所有可用配置引脚
fpioa.help(FPIOA.IIC0_SDA, func=True)

# 设置 Pin0 为 GPIO0
fpioa.set_function(0, FPIOA.GPIO0)

# 设置 Pin2 为 GPIO2,同时配置其它参数
fpioa.set_function(2, FPIOA.GPIO2, ie=1, oe=1, pu=0, pd=0, st=1, sl=0, ds=7)

# 获取指定功能当前所用的引脚
fpioa.get_pin_num(FPIOA.UART0_TXD)

# 获取指定引脚当前的功能
fpioa.get_pin_func(0)

构造函数#

fpioa = FPIOA()

参数

set_function 方法#

FPIOA.set_function(pin, func, ie=-1, oe=-1, pu=-1, pd=-1, st=-1, sl=-1, ds=-1)

设置引脚的功能。

参数

  • pin: 引脚号,范围:[0, 63]

  • func: 功能号

  • ie: 输入使能,可选参数

  • oe: 输出使能,可选参数

  • pu: 上拉使能,可选参数

  • pd: 下拉使能,可选参数

  • st: st 使能,可选参数

  • sl: sl 使能,可选参数

  • ds: 驱动能力,可选参数

返回值

get_pin_num 方法#

fpioa.get_pin_num(func)

获取指定功能当前所在的引脚。

参数

  • func: 功能号

返回值

返回引脚号,或 None 如果未找到相应功能。

get_pin_func 方法#

fpioa.get_pin_func(pin)

获取指定引脚当前的功能。

参数

  • pin: 引脚号

返回值

返回引脚当前的功能号。

help 方法#

fpioa.help([number, func=False])

打印引脚配置提示信息。

参数

  • number: 引脚号或功能号, 可选参数

  • func: 是否启用功能号查询,默认为 False

返回值

可能为以下三种:

  1. 所有引脚的配置信息(未设置 number

  2. 指定引脚的详细配置信息(设置了 number,未设置 func 或设置为 False

  3. 指定功能的所有可配置引脚号(设置了 number,并将 func 设置为 True