Pin
– 控制I/O管脚¶
引脚对象用于控制I/O引脚(也称为GPIO—通用输入/输出)。
Pin对象通常与一个可驱动输出电压和读取输入电压的引脚相关联。 引脚类有设置引脚模式(IN、OUT等)的方法,以及设置数字逻辑的方法。
引脚对象通过使用明确指定某个I/O引脚的标识符来构建。每一个标识符都对应到一个引脚,标识符只能是整数。
使用示例: (以HaaS EDU K1 为例)¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | from machine import Pin
# 在引脚#0上创建一个输出引脚
p0 = Pin(36, Pin.OUT)
# 设置该值为低,然后设置为高
p0.value(0)
p0.value(1)
p0.off()
p0.on()
# 在引脚#2上创建一个带有上拉电阻的输入引脚
p2 = Pin(23, Pin.IN, Pin.PULL_UP)
# 读取并打印引脚值
print(p2.value())
|
函数接口¶
-
machine_pin.
Pin
(id, mode=- 1, pull=- 1, *, value)[源代码]¶ 访问与给定 id 相关联的外围引脚(GPIO引脚)。
- 参数
id(int) – 必选参数,GPIO管脚索引号,具体可用数值请参考硬件手册。
mode(int) –
必选参数,指定引脚模式,可选值为下列之一:
Pin.IN - 引脚配置为输入。若将之视为输出,则引脚会处于高阻抗状态。
Pin.OUT - 引脚配置为(常规)输出。
Pin.OPEN_DRAIN - 引脚配置为开漏输出。
pull(int) –
可选参数,若引脚与一个(弱)电阻相连,可选值为下列之一:
None - 无上拉或下拉电阻。
Pin.PULL_UP - 启用上拉电阻。
Pin.PULL_DOWN - 启用下拉电阻。
- 返回
Pin 类句柄
- 引发
ValueError – EINVAL
-
machine_pin.
init
(mode=- 1, pull=- 1, *, value)[源代码]¶ 使用给定参数将引脚重新初始化。只有指定参数将被设置,其余的外围引脚状态将保持不变。更多参数细节,请参见构造函数文件。
- 参数
空 –
- 返回
None
-
machine_pin.
value
(x)[源代码]¶ 该方法允许设置并获取引脚值,这取决于是否提供了参数 x。
如果没有提供参加,则该方法获取引脚的数字逻辑电平,分别返回0或1对应的低电压信号和高电压信号。该方法的行为取决于引脚的模式:
Pin.IN - 该方法返回目前在引脚上出现的实际输入值。
Pin.OUT - 该方法的行为和返回值未定义。
Pin.OPEN_DRAIN - 若该引脚在“0”状态下,则该方法的行为和返回值未定义。否则,若该引脚在“1”状态下,该方法返回目前在引脚上出现的实际输入值。
如果提供了参数值,则该方法设置引脚的数字逻辑电平。参数 x 可为任何可以转换成布尔值的参数。 若转换为 True ,则该引脚设置为状态“1”,否则引脚为状态“0”。 该方法的行为取决于引脚的模式:
Pin.IN - 该值储存在引脚的输出缓冲区中。引脚状态不变,始终为高阻抗状态。当它更改为 Pin.OUT 或 Pin.OPEN_DRAIN 模式时,该储存值将在引脚上激活。
Pin.OUT - 输出缓冲区立即设置为给定值。
Pin.OPEN_DRAIN - 若该值为“0”,引脚则被设置为低电压状态。否则引脚设置为高阻抗状态。
- 参数
x – 输出值 或 None
- 返回
None(提供了参数) 或 int 值(未提供参数)
-
machine_pin.
irq
(handler, trigger, wake=None)[源代码]¶ 配置一个中断处理程序,当引脚的触发器源处于激活状态时,调用该程序。
若引脚模式为 Pin.IN, 则触发器源为引脚上的外部值。 若引脚模式为 Pin.OUT,则触发器源为引脚上的输出缓冲区。
若引脚模式为 Pin.OPEN_DRAIN,
状态为“0”时,触发器源为输出缓冲区;
状态为“1”时,触发器源为外部引脚值。
- 参数
handler – 是中断触发时所调用的可选函数
trigger –
配置可产生中断的事件。可选值为:
Pin.IRQ_FALLING 下降沿上的中断
Pin.IRQ_RISING 上升沿上的中断
Pin.IRQ_LOW_LEVEL 低电平上的中断
Pin.IRQ_HIGH_LEVEL 高电平上的中断
这些值可在多个事件中同时进行“或”运算。
wake –
选择电源模式,在该模式下中断可唤醒系统。(HaaS硬件不支持该参数) 可选值为:
machine.IDLE
machine.SLEEP
machine.DEEPSLEEP
这些值可同时进行“或”运算,以使引脚在多种电源模式下生成中断。
- 返回
None