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_UPpyb.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)

… 即可。