问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

OpenMV模块串口通信教程:硬件接线与软件编程详解

创作时间:
作者:
@小白创作中心

OpenMV模块串口通信教程:硬件接线与软件编程详解

引用
CSDN
1.
https://blog.csdn.net/2401_82762455/article/details/145355903

OpenMV是一款基于微处理器的视觉系统开发板,广泛应用于嵌入式视觉项目。串口通信是嵌入式系统中常见的通信方式之一,通过串口可以实现开发板与计算机或其他设备之间的数据传输。本文将详细介绍如何使用OpenMV模块进行串口通信,包括硬件接线和软件编程两个方面。

OpenMV串口调试扩展板

OpenMV串口调试扩展板将OpenMV的串口UART3,通过cp2104芯片连接到电脑,通过USB连接到串口调试扩展板,可以看到OpenMV的串口UART3上发送的数据。

OpenMV 串口调试扩展板 | 星瞳科技

OpenMV和串口调试扩展板,通过2条USB线,都连接到电脑。

使用TTL-USB模块

如果没有OpenMV串口调试扩展板,也可以使用TTL-USB模块,他的作用和OpenMV串口调试扩展板一样。

首先我们要了解的是:各种单片机(包括Arduino, OpenMV, esp8266, stm32, 51)使用的串口都是TTL串口!不是rs485,不是rs232!

TTL串口的电压是3.3V或者5V,RS232的电压是+-15V,RS485的电压是5V,但是两根数据线是差分线,协议不一样,不能通用的。

我们使用的模块是TTL转USB模块(推荐使用cp2104模块,稍微贵一点,但是质量好)

先实例化一个19200波特率的串口,然后调用write方法就可以了。

注意:OpenMV RT 只有串口UART(1),对应P4-TX P5-RX。

OpenMV4 H7 Plus, OpenMV4 H7, OpenMV3 M7 的串口UART(1)是P0-RX P1-TX。

OpenMV4 H7 Plus, OpenMV4 H7, OpenMV3 M7, OpenMV2 M4 的串口UART(3)是P4-TX P5-RX

# 导入 time 模块,该模块提供了各种与时间相关的函数,
# 在这里主要用于控制代码执行的时间间隔,实现延时功能
import time
# 从 machine 模块中导入 UART 类,UART(通用异步收发传输器)
# 是一种用于串行通信的接口,通过它可以实现 OpenMV 与其他设备之间的数据传输
from machine import UART
# 注释掉的这行代码表示也可以从 pyb 模块导入 UART 类,
# pyb 是 MicroPython 中用于访问底层硬件的模块,不同的导入方式可能适用于不同的环境
#from pyb import UART
# 注释内容说明不同型号 OpenMV 开发板的 UART(3) 引脚对应情况
# OpenMV4 H7 Plus、OpenMV4 H7、OpenMV3 M7、OpenMV2 M4 这些型号的开发板,
# 其 UART(3) 接口对应的引脚是 P4(发送引脚 TX)和 P5(接收引脚 RX)
# OpenMV4 H7 Plus, OpenMV4 H7, OpenMV3 M7, OpenMV2 M4 的UART(3)是P4-TX P5-RX
# 创建一个 UART 对象,使用 UART(3) 接口,波特率设置为 19200
# 波特率是指数据传输的速率,即每秒传输的比特数,这里 19200 表示每秒传输 19200 个比特
# 对于 OpenMV RT 型号的开发板,需要注释掉这一行,使用下面的 UART(1) 那一行代码
uart = UART(3, 19200)   #OpenMV RT 注释掉这一行,用下一行UART(1)
# 这行代码是为 OpenMV RT 型号开发板准备的,使用 UART(1) 接口,波特率同样为 19200
# 注释掉上面的 UART(3) 行,使用这一行代码
#uart = UART(1, 19200)  #OpenMV RT 用UART(1)这行,注释掉上一行UART(3)
# 注释内容说明不同型号 OpenMV 开发板的 UART(1) 引脚对应情况
# OpenMV RT 型号开发板只有串口 UART(1),对应的引脚是 P4(发送引脚 TX)和 P5(接收引脚 RX)
# OpenMV4 H7 Plus、OpenMV4 H7、OpenMV3 M7 这些型号的开发板,其 UART(1) 接口对应的引脚是 P0(接收引脚 RX)和 P1(发送引脚 TX)
# OpenMV RT 只有串口UART(1),对应P4-TX P5-RX; OpenMV4 H7 Plus, OpenMV4 H7, OpenMV3 M7 的UART(1)是P0-RX P1-TX
# 进入一个无限循环,使得代码会一直重复执行,直到程序被手动停止或设备断电
while(True):
    # 通过 UART 接口发送字符串 "Hello World!\r" 
    # \r 是回车符,在串行通信中有时用于表示一行的结束或数据传输的一个分界点
    # write 方法用于向 UART 接口写入数据
    uart.write("Hello World!\r")
    
    # 让程序暂停执行 1000 毫秒,即 1 秒
    # 这样可以控制数据发送的时间间隔,每 1 秒发送一次 "Hello World!" 字符串
    time.sleep_ms(1000)  

将TTL模块的USB端插入电脑,会出现一个串口。

星瞳串口助手

首先下载星瞳串口助手:

星瞳串口助手SingTownSerialport | 星瞳科技

星瞳串口助手是一款,简洁易用,支持Windows,MacOS,Linux的开源的串口助手。

运行程序

注意,有些软件是可以选择HEX(16进制)或者ASC(ascii),要选择ASC,才能显示字符串。

OpenMV上运行uart.write("hello world!")的程序(见上节)。

在串口助手会显示Hello world!字符。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号