OpenMV4开发笔记3-串口通信

2023-05-16

OpenMV4引出了串口3和串口1,首先以串口3的收发为例

import time
from pyb import UART

uart = UART(3, 115200)  #串口3,波特率115200
uart.init(115200,8,None,1) #8个数据位,无奇偶校验,1个停止位

while(True):
    if uart.any():  # 判断是否有数据
        data = uart.read()  #将读取的数据存入data
        uart.write(data)  #串口发送data里面的内容

如果同时使用串口1和串口3,以串口3接收,串口1发送为例

import time
from pyb import UART

uart3 = UART(3, 115200) #串口3初始化波特率115200
uart3.init(115200,8,None,1) #8个数据位,无奇偶校验,1个停止位
uart1 = UART(1, 115200) #串口1初始化波特率115200
uart1.init(115200,8,None,1) #8个数据位,无奇偶校验,1个停止位

while(True):
    if uart3.any():  # 判断串口3是否有数据
        data = uart3.read()  #将串口3读取的数据存入data
        uart1.write(data)  #串口1发送data里面的内容

Python的条件判断

根据Python的缩进规则,如果if语句判断是True,就把缩进的语句执行了,否则,什么也不做。
也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:
注意不要少写了冒号:
也可以用elif做更细致的判断:

串口初始化

uart = UART(3,115200) #给定串口3波特率,之后uart指代的就是串口3
uart.init(115200,8,None,1) #对串口3给定参数初始化
UART.init(baudrate=115200, bits=8, parity=None, stop=1) #给定参数初始化的另一种写法
#baudrate 是时钟速率,即波特率
#bits 是每个字符的位数,即数据位,7,8或9。
#parity 是奇偶校验,None,0(偶数) 或 1(奇数)。
#stop 是停止位的数目,1或2。

串口读操作:

uart.any #串口读取到任何有效字符,该函数返回1,否则返回0
uart.read() #读取所有有效字符(此时返回的是字节串,即数组)
uart.read().decode()  #将读取的数据存入data(此时返回的是字符串)
uart.read().decode().strip()  #将读取的数据存入data(返回去掉回车换行符的字符串)

#将读取的数据存入data(返回去掉回车换行符并以“,”分隔的字符串数组)
uart.read().decode().strip().split(",")  

#如果获取到的data是一串数字,还可以通过
data = uart.read().decode().strip()  #将读取的数据存入data(返回去掉回车换行符的字符串)
data = int(data) + 2 #将接收到的字符串类型的data转换为数字类型,并+2再传给data

串口写操作:

uart.write(data) #串口发送data里面的内容
uart.write("data") #串口发送字符串“data”
uart.writechar(65) #串口发送ASCALL码为65(十进制,如果是十六进制则为41)的字符,即字母A

关闭串口

uart.deinit() #关闭串口
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenMV4开发笔记3-串口通信 的相关文章

  • 无人机仿真SLAM_gazebo&promethues

    无人机仿真 总体概述系统要求 PX4固件简介无人机固件整体框图无人机软件框图无人机硬件模型 Mavlink模块位置估计与姿态估计模块安装与编译二次开发 机载计算机程序控制模块估计模块仿真模块SLAM模块SLAM效果演示 总体概述 无人机仿真
  • 编译orbslam2时,Pangolin could not be found because dependency Eigen3 could not be found,解决方法

    是因为使用了pangolin0 6版本 xff0c 需要重新安装0 5版本的pangolin 1 在pangolin的build文件夹下 sudo make uninstall 2 usr local include 删除pangolin文
  • CMakeLists.txt常用语法

    0 绪 cmake 是一个跨平台 开源的构建系统 它是一个集软件构建 测试 打包于一身的软件 它使用与平台和编译器独立的配置文件来对软件编译过程进行控制 1 常用命令 1 1制定cmake最小版本 cmake minimum require
  • Vue 模板

    原文 在Vue中 xff0c Vue模板对应的就是Vue中的View xff08 视图 xff09 部分 xff0c 也是Vue重中之一 xff0c 而在Vue中要了解Vue模板我们就需要从两个方面来着手 xff0c 其一是Vue的模板语法
  • Ubuntu:系统分区

    在系统分区之前 先进行磁盘分区 这里针对的是window10系统下安装ubuntu双系统 需要在window10下进行磁盘分区来安装ubuntu系统 一 磁盘分区 win10系统下 右击此电脑 xff0c 点击管理就进入磁盘管理 这时候可以
  • Mac 安装node.js

    Mac系统安装Node js xff0c 下载地址 如上图安装路径 xff1a This package will install Node js v16 19 1 to usr local bin node span class toke
  • MySQL 常用函数(二)

    ABS函数 xff1a 求绝对值 绝对值函数 ABS x 返回 x 的绝对值 正数的绝对值是其本身 xff0c 负数的绝对值为其相反数 xff0c 0 的绝对值是 0 span class token keyword SELECT span
  • MyBatis Mapper常用动态SQL之foreach 、if、choose、where、when

    if语句 lt if gt 判断语句 xff0c 用于单条件分支条件判断 使用 lt if gt 元素对参数username和jobs进行非空判断 xff0c 并动态组装SQL xff1a span class token keyword
  • Java 查看官方Java API文档

    话不多说 xff0c 直接上方法 打开官网址 xff1a http www oracle com technetwork cn java javase downloads index html 方式一 在线浏览 点击Java 文档 xff1
  • iOS-微信分享成功回调问题

    本人用ShareSDK做分享和第三方登录 xff0c 登录先不讲 xff0c 本节只做分享成功或失败后回调问题 相信好多人会有这个疑惑就是在微信分享成功后没有成功后的方法回调 xff0c 我在ShareSDK论坛也发表过帖子问过 xff0c
  • iOS-常见三种加密(MD5、非对称加密,对称加密)

    任何应用的开发中安全都是重中之重 xff0c 在信息交互异常活跃的现在 xff0c 信息加密技术显得尤为重要 在app应用开发中 xff0c 我们需要对应用中的多项数据进行加密处理 xff0c 从而来保证应用上线后的安全性 xff0c 给用
  • iOS-开辟子线程(NSThread、NSOperationQueue、GCD)

    本节主要总结一些开辟子线程的常用的几种方法 一 通过NSThread类开辟子线程 1 NSThread手动开启子线程 span class hljs comment 创建线程对象 span span class hljs built in
  • Mac 安装 IntelliJ IDEA 以及激活方法

    之前一直在苹果移动端开发 xff0c 这里想了解下Java后台的开发 xff0c 以至于更好的配合后台工作 xff0c 下面说下破解版的安装过程 xff08 Mac xff09 第一步 xff1a 下载Java开发工具 这里我们选择比较好的
  • Mac IntelliJ IDEA连接和操作MySQL数据库

    想要IntelliJ IDEA后台开发 xff0c 数据库的连接时必不可少的 xff0c 这里我们选择开源的 xff0c 同时也是使用人数比较多的一种数据库MySQL 第一步 xff1a MySQL的下载安装 到MySQL官网下载 xff0
  • GStreamer-CRITICAL **: gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed

    在Qt中 xff0c 使用phonon播放视频的时候 xff0c 出现了GStreamer CRITICAL gst element make from uri assertion 96 gst uri is valid uri 39 fa
  • IDEA导入JDBC驱动的jar包

    JDBC的全称是Java Database Connectivity xff0c 意思就是Java数据库链接 xff0c 是一套面向对象的应用程序接口 xff0c 指定了统一的访问各种类型数据库的标准接口 JDBC是一种底层的API xff
  • IDEA-自带Database中table进行增删改查和筛选数据

    显式的数据库有人喜欢用Navicat Premium xff0c 在里面对数据进行各种筛选和增删改查操作 xff0c 用起来很方便 这里我们说下IDEA内部自带的显式的数据库 这里我已经建好数据库和表 xff0c 表内数据我也添加了若干条
  • Flutter - Android Studio开发Flutter以及iOS真机测试

    上一节已经配置好了iOS和安卓的环境 xff0c 下面我们用Android Studio开发Flutter xff0c 当然你也可以用VSCode和ItelliJ IDEA来开发 还没配置的同学请看上一片文章 一 创建项目 接着上一节操作
  • Oracle 中ORA-28000: the account is locked解决办法

    在没有navicat xff0c 只有cmd应用程序的条件下 xff0c 在密码输入多次都出现 the account is locked用户账号被锁的问题 xff0c 请看这里 xff1a 首先 xff0c 出现ORA 28000 the
  • Linux 虚拟机设置共享文件夹不显示问题解决办法

    安装完VMware Tools后 xff0c 不要点重新启动客户机 xff0c 需要先关闭客户机 xff0c 然后再启动客户机就可以看到共享的文件

随机推荐