6.1.2. GPIO控制¶
您的OpenMV Cam板上有9个(OpenMV Cam M4)到10个(OpenMV Cam M7)通用I/O引脚,用于与现实世界通信。未来,我们可能会保持引脚数较低,以保持OpenMV Cam的小巧。
无论如何,有几种使用GPIO引脚的方法。
6.1.2.1. 作为输入¶
要将GPIO引脚用作输入,只需执行以下操作:
import pyb
p = pyb.Pin("P0", pyb.Pin.IN)
p.value() # Returns 0 or 1.
pyb.Pin()
构造函数创建一个引脚对象,您将使用该对象来控制OpenMV Cam上的I/O引脚。您传递给OpenMV Cam的字符串应为 P
,然后是 0-8
(OpenMV Cam M4)或 0-9
(OpenMV Cam M7)。
创建了GPIO引脚后,请使用 pyb.Pin.value()
方法获取IO引脚的状态。
最后,如果您需要上拉或下拉IO引脚,请将 pyb.Pin.PULL_UP
或 pyb.Pin.PULL_DOWN
作为额外参数传递给 pyb.Pin()
构造函数:
p = pyb.Pin("P0", pyb.Pin.IN, pyb.Pin.PULL_UP)
6.1.2.2. 作为输出¶
现在,要将GPIO引脚用作输出,只需执行以下操作:
import pyb
p = pyb.Pin("P0", pyb.Pin.OUT_PP)
p.high() # or p.value(1) to make the pin high (3.3V)
p.low() # or p.value(0) to make the pin low (0V)
就是这么简单!但是,如果您想要开漏输出,只需执行以下操作:
p = pyb.Pin("P0", pyb.Pin.OUT_OD)
现在,pyb.Pin.high()
会导致引脚浮动,而 pyb.Pin.low()
将引脚拉低。如果需要在引脚上加上上拉电阻,只需添加:
p = pyb.Pin("P0", pyb.Pin.OUT_OD, pyb.Pin.PULL_UP)
… 即可。