OPENMV CAM H7(M4) GPIO控制

5.1.2. GPIO控制

OpenMV具有9个(OpenMV M4)到10个(OpenMV M7)板载通用I / O引脚, 用于与现实世界交谈。我们可能会保持这个数量,以保持OpenMV Cam微小

无论如何,有几种方法可以使用GPIO引脚。

5.1.2.1. 作为输入

要使用GPIO引脚作为输入,只需要:

import pyb

p = pyb.Pin("P0", pyb.Pin.IN)
p.value() # Returns 0 or 1.

该 pyb.Pin() 构造函数创建一个pin对象,您将用它来控制你的OpenMV的I / O引脚。 你传递给OpenMV凸轮该字符串应该是 P ,然后OpenMV M4为 0-8 和 OpenMV M7为 0-9 。

一旦你创建了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)

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

… 到构造函数。

STM32单片机输出四种形式:

1、普通推挽输出(GPIO_Mode_Out_PP):

 

使用场合:一般用在0V和3.3V的场合。线路经过两个P_MOS 和N_MOS 管,负责上拉和下拉电流。

 

使用方法:直接使用

 

输出电平:推挽输出的低电平是0V,高电平是3.3V。

 

2、普通开漏输出(GPIO_Mode_Out_OD):

 

使用场合:一般用在电平不匹配的场合,如需要输出5V的高电平单片机仅输出3.3V

 

使用方法:就需要再外部接一个上拉电阻,电源为5V,把GPIO设置为开漏模式, 当输出高组态时,由上拉电阻和电源向外输出5V的电压

 

输出电平:在开漏输出模式时,如果输出为0,低电平,则使N_MOS 导通,使输 出接地。若控制输出为1无法直接输出高电平),则既不输出高电平 也不输出低电平,为高组态。为正常使用,必须在外部接一个上拉电 阻。

 

特性: 它具“线与”特性,即很多个开漏模式 引脚连接到一起时,只有当所有 引脚都输出高阻态,才由上拉电阻提供高电平,此高电平的电压为外部 上拉电阻所接的电源的电压。若其中一个引脚为低电平,那线路就相当 于短路接地,使得整条线路都为低电平,0 伏。

 

3、复用推挽输出(GPIO_Mode_AF_PP):用作串口的输出。

 

4、复用开漏输出(GPIO_Mode_AF_OD):用在IIC。

 

所有的开漏输出都需要接上拉电阻。

### 关于OpenMV4 H7的UART引脚配置 在OpenMV4 H7设备中,串口通信是一个重要的外设功能。该设备支持多个串口通道,其中最常用的为串口3和串口1[^3]。对于串口3的具体配置如下: #### 配置示例 以下是通过Python代码实现串口3初始化的一个典型例子: ```python import time from pyb import UART uart = UART(3, 115200) # 初始化串口3,设置波特率为115200 uart.init(115200, bits=8, parity=None, stop=1) # 设置参数:8个数据位,无奇偶校验,1个停止位 while True: if uart.any(): # 检查是否有待接收的数据 data = uart.read() # 读取数据并存储到变量data中 uart.write(data) # 将接收到的数据重新发送出去 ``` 上述代码展示了如何使用`pyb.UART`类来完成串口3的基本操作。需要注意的是,在实际应用中可能还需要调整其他参数以适配具体需求。 #### 引脚分配 根据官方文档描述,OpenMV4 H7上的串口3默认连接至P9(PD8)作为TX(传输)端以及P10(PD9)作为RX(接收)端。如果需要更改这些默认映射,则可以通过软件重定向或者硬件跳线方式实现自定义设置。 另外值得注意的一点是当涉及到伺服控制时,Servo信号会占用特定GPIO资源比如P7(PD12), P8(PD13)[^2],所以在规划整个项目布局过程中要考虑到这一点以免造成冲突. 最后提醒一下有关图像处理方面的小技巧: 如果发现摄像头捕捉的画面存在色彩偏差现象可能是由于自动白平衡或增益调节引起的因此建议关闭它们以便获得更稳定的结果.[^4]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值