Jetson nano串口的使用——UART

2023-05-16

UART串口使用两条杜邦线就可以实现数据发送和接收,可以很方便的与其他扩展进行数据连接,比如微雪的L76X GPS HAT就可以直接连接40Pin的GPIO接口通过UART串口进行数据传递。
接下来具体说明Jetson nano串口的使用:

1、首先下图是Jetson nano的所有通讯接口,其中红框框选的8、10是我们要用到的引脚。

在这里插入图片描述

2、我们要安装串口函数库,终端执行下面的命令(如果使用的是官方镜像,应该是已经安装好了):

sudo pip3 install pyserial

3、使用UART收发数据:

1 导入串口库

import serial as ser

2 设置使用的引脚、波特率和超时时间

se = ser.Serial("/dev/ttyTHS1", 9600, timeout=1)
  • 如果出现下面的错误:
    Serial Exception: [Errno 13] could not open port /dev/ttyTHS1: [Errno 13] Permission denied: '/dev/ttyTHS1'
    
    这是因为没有权限,使用下面的命令设置其权限为可读可写可执行
    sudo chmod 777 /dev/ttyTHS1
    

3 使用write函数进行数据的发送(注意发送类型必须是字节,因此需要使用encode()函数进行转换)

se.write("666".encode())

decode()可以传入指定的编码名称来做指定编码,如:

se.write("666".encode("GB2312"))

或者直接在字符串前边加b:

ser.write(b'hello')

如果你要用电脑USB转TTL接收数据:
1 安装USB转TTL驱动
2 安装串口调试助手
3 正确连线USB转TTL模块和板子
4 选择USB转TTL模块的正确串口,波特率和 2 中保持一致,数据位8,停止位1,无校验位。
5 打开串口,运行程序,得到数据显示。

4 读取数据
读取指定长度使用:

s = ser.read(100)
  • 100就是读取100个字符,你可以传入其他长度参数

读取一行(当读到 ‘\n’ 时,视当前读到的内容为一行。 )

line = ser.readline()

读取的都是原始字节,需要用decode()函数进行解码进行输出:

print(line.decode("GB2312"))

5 串口状态
打开串口:

ser.open()

检测串口是否打开:

ser.is_open
  • 返回值为True 或 False

串口关闭

ser.close()

检查串口是否关闭

ser.is_open
  • 返回值为True 或 False

6 其他设置串口的写法
逐个设置:

ser = serial.Serial()
ser.baudrate = 19200
ser.port = 'COM1'
ser.open()
ser.close()
  • COM1就是上边2中的第一个参数
  • 19200就是上边2中的第二个参数

上下文写法:

serial.Serial() as ser:
    ser.baudrate = 19200
    ser.port = 'COM1'
    ser.open()
    ser.write(b'hello')

COM需要调用open(),close(),UART不需要。

7 最后,官方文档:
https://pythonhosted.org/pyserial/shortintro.html#opening-serial-ports

4、最后附上我的测试代码及测试结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

Jetson nano串口的使用——UART 的相关文章

  • Jetson TX2 入门 ——介绍

    暑假留校 xff0c 老师给我们拿了两块开发板 xff0c 一个是英伟达的Jetson TX2 xff0c 一个是up squared xff0c 让我们先熟悉开发板 xff0c 为明年的比赛做准备 这两个板子是前几届学长做比赛用过的 自己
  • 在Jetson Nano上编译FastDeploy

    1 C 43 43 库的编译 span class token function git span clone https github com PaddlePaddle FastDeploy git span class token bu
  • jetson nano GPIO控制说明

    文章目录 一 GPIO介绍二 安装GPIO库python库C 43 43 库 三 几种常用的通信协议UARTPWMI2CI2SSPI 四 控制函数说明python xff08 参考 https pypi org project Jetson
  • jetson镜像克隆到固态再扩容简单方法

    jetson克隆方法很多 xff0c 我是自己把之前的sd镜像克隆做成img镜像了 然后烧写后之前是64g的后续烧写都是64g的不能把新的储存设备占满 这里有一个扩容和移植到固态的方法 主要分三步 xff1a 镜像克隆和烧录到sd卡使用固态
  • UART,SPI,IIC,RS232通信时序和规则

    一 UART 1 串口通信方式 2 串口通信步骤 注意 xff1a 串口协议规定 xff0c 闲置时必须是高电平 校验位 xff1a 是使用奇偶校验 停止位必须高电平 一个0和多个0区分是靠掐时间 异步通信 xff1a 时钟各不一样 二 I
  • HAL_UART_IRQHandler(UART_HandleTypeDef *huart)里面的中断接收函数

    目录 前言1 UART Receive IT2 HAL UART Receive3 HAL UART Receive IT 前言 看了很长时间串口中断的HAL库 xff0c 最容易混淆的就是函数的名称 xff0c 主要集中在UART Rec
  • MCU-串口通信协议

    MCU 串口通信协议 一 介绍 串行通信就像单车道 所有数据得一个一个通行 并行就像多车道 一次可以通行多辆车 MCU常用到的串口通信模块主要有两种 UART和USART UART 全称是Universal Asynchronous Rec
  • RT-Thread记录(十一、I/O 设备模型之UART设备 — 源码解析)

    深入理解 RT Thread I O 设备模型 分析 UART设备源码 目录 前言 一 初识 UART 操作函数 应用程序 二 UART 的初始化 2 1 UART 设备初始化位置 2 2 UART 设备初始化函数分析 stm32 uart
  • 嵌入式Linux应用开发笔记:串口

    文章目录 目的 基础说明 开发准备 设备树 应用程序 应用程序与演示 代码 演示 总结 设备树文件 目的 串口 UART 是嵌入式设备中比较常用的功能 这篇文章将记录下应用程序中串口操作相关内容 这篇文章中内容均在下面的开发板上进行测试 新
  • 51单片机串口通信(UART)

    项目描述 1 串口工作方式为1 8位UART 波特率可变 无校验位 2 通信数据格式为 1位起始位 8位数据位 1位停止位 3 上电后MCU给上位机发送问候语 之后等待上位机的信息 MCU和上位机的通信为收发交替进行 MCU接收到的信息会实
  • mega328p-ADC,PWM,UART驱动

    ADC驱动 函 数 名 Ai Init 函数功能 Ai端口初始化 输入参数 void 输出参数 void 返 回 值 void 参考文档 void 创 件 人 程强刚 创建日期 2016 02 09 修改历史 void Ai Init vo
  • yolov8系列[四]-yolov8模型部署

    yolov8系列 四 yolov8模型部署jetson平台 jetson平台 0 安装环境 1 下载源代码 2 pt 转换模型转换为 onnx 模型 3 配置deepstream yolo 4 运行 jetson平台 0 安装环境 下载to
  • STM32双串口

    STM32双串口的使用 最近老是需要stm32通过串口去跟WiFi模块 蓝牙模块 openmv进行数据交互 然后需要用到stm32的串口调试 就把这个程序整理成一个工程 方便调试 实验目的 外设模块 WiFi模块 蓝牙模块 openmv 发
  • Nvidia Jetson 编解码开发(6)Jetpack 4.x版本Multimedia API 硬件编码开发--输入端对接Camera V4L2采集

    1 前言 Nvidia Jetson 编解码开发 2 Jetpack 4 x版本Multimedia API 硬件编码开发 集成encode模块 free xx的博客 CSDN博客 基于上篇继续开发 由于上篇只集成了encode模块 但是编
  • Verilog功能模块——Uart收发

    摘要 本文分享了一种通用的Uart收发模块 可实现Uart协议所支持的任意波特率 任意位宽数据 5 8 任意校验位 无校验 奇校验 偶校验 1校验 0校验 任意停止位 1 1 5 2 的数据传输 此模块需要搭配FIFO使用 以消除发送端和接
  • 使用HAL库开发STM32:UART基础使用

    文章目录 目的 基础说明与初始化 基础说明 初始化 数据接收和发送 轮询方式 中断方式 DMA方式 其它说明 总结 目的 UART 异步串口 是单片机非常常用的一个功能 一般用作设备或模块间通讯的一种方式 通常所说的232或是485通讯从写
  • jetson nano 安装pytorch装不上

    可以尝试 先把依赖装上在安装whl文件 安装依赖的指令如下 sudo apt get install libopenblas base libopenmpi dev
  • UART ISR Tx Rx 架构

    我让事情变得复杂了吗 我正在构建我的代码 以便通过 UART 从 8051 micro 与外围设备进行通信 外设响应主机的命令 一次只能响应一个命令 这是一个简单的发送和接收协议 tx1 rx1 tx2 rx2 tx3 rx3 每个 TX
  • 以字符串形式接收数字(uart)

    我正在尝试通过 uart 接收一个包装为字符串的数字 我发送数字 1000 所以我得到 4 个字节 空字符 但是 当我使用 atoi 将数组转换为数字并将整数与 1000 进行比较时 我并不总是得到正确的数字 这是我用于接收号码的中断处理函
  • 使用 read(...) 时在换行符处停止

    我需要从通过 UART 连接的 GPS 读取 NMEA 语句 操作系统是Debian 语言必须是C 为此 我使用以下命令打开文件open 并读取一个字符串read 但是 这样我必须指定字符串长度 这会分解句子 相反 我想读到 NMEA 句子

随机推荐

  • vmware-workstation-and-device-credential-guard-are-not-compatible

    1 off hyper v feature 2 bcdedit set hypervisorlaunchtype off
  • Ubuntu下配置Multipath TCP(MPTCP)By内核下载(一)

    一 MPTCP介绍 多路径TCP xff08 MPTCP xff09 是一种通过修改TCP来实现同时使用多个IP地址 接口方法 xff0c MPTCP向应用程序提供常规的TCP接口 xff0c 同时实际上跨多个子流传播数据 这样做的好处包括
  • 解决Ubuntu20.04插入英伟达计算卡后无法开机问题-Ubuntu双显卡切换

    解决Ubuntu20 04插入英伟达计算卡后无法开机问题 Ubuntu双显卡切换 问题详述问题分析问题解决 ubuntu双显卡切换 问题详述 本人新配了一台个人使用的机器学习服务器 对环境配置可能有影响的硬件如下 xff1a 华硕B660M
  • python PyQt5使用QT designer不显示问题

    初学Pyqt5记录走过 的坑 xff01 1 窗口自适应 xff1a 窗口自适应我的理解就是使用栅格布局 xff0c 调整后会根据窗口大小调整比例 先把自己需要的截面放在UI上 xff0c 然后使用栅格布局即按Ctrl 43 r即可预览 x
  • opencv跑yolo报错Failed to parse NetParameter file

    64 TOC cv2 error OpenCV 3 4 5 opencv 3 4 5 modules dnn src darknet darknet importer cpp 214 error 212 Parsing error Fail
  • Java自学

    JAVA自学 一 需要掌握的知识点二 资源中心 教程 练习 三 工作要求 图片 一 需要掌握的知识点 java基础 xff08 多线程 IO xff08 nio xff0c bio xff0c aio xff09 xff09 各种数据结构
  • python解析DataMatrix Code二维码

    span class token comment 安装 span span class token triple quoted string string 39 39 39 sudo apt get install libdmtx0a pi
  • SpringBoot中使用自定义异常Exception

    记录一下SpringBoot中使用自定义异常操作方法 代码如下 创建ServiceException class span class token keyword public span span class token keyword c
  • kafka的安装与使用(一)

    kafka的安装与使用 xff08 一 xff09 最近接触消息中间件 xff0c 把使用过程中记录一下 xff01 1 下载与安装 任何文档都要以官方文档为准 xff0c 英文多看两眼你会发现比上次更加熟悉了 xffe3 xffe3 xf
  • 【GITEE】解决 Push rejected

    问题背景 xff1a 更新了台式电脑后 xff0c 从gitlee上拉了代码 xff0c 重新push后就一直报错 xff1a Push single to origin single was rejected by remote 问题解决
  • 一小时学会Python3爬虫基础(二)基础语法 输入输出 关键字 注释

    目录 前言集成环境 编辑器基本语法缩进换行标识符关键字注释输入 输出总结 前言 python作为一门编程语言 xff0c 也跟其他语言一样有自己的逻辑语法 xff0c 那什么是语法 xff1f 跟人一样每个人都有自己说话一套方法 集成环境
  • windows 生成self-sign证书

    打开powershell 管理员身份运行 New SelfSignedCertificate CertStoreLocation Cert LocalMachine My DnsName 34 mysite local 34 Friendl
  • 一小时学会Python3爬虫基础(四)完整解析格式化输出和数据类型转换

    目录 前言格式化输出格式化符号 s格式化函数format格式化表示 f string 转义符和结束符 n意思就是 换行 new line t 叫做水平制表符 tab xff0c r 是回车符carriage return结束符 数据类型转换
  • 一小时学会Python3爬虫基础(七)高级数据的全部操作:字典

    目录 前言字典1 字典格式2 创建有效字典2 创建空字典3 字典类型转换 字典增加和修改1 增加2 修改 字典查找1 key键查找2 get 3 keys 4 values 5 items 字典循环遍历1 遍历字典的key值2 遍历字典的v
  • Python处理异常代码的基本操作,原来都大同小异!

    目录 什么是异常 xff1f 如何捕获异常 xff1f 1 异常的写法2 捕获指定异常3 捕获多个异常4 捕获异常的描述5 捕获所有异常6 异常的else7 finally8 自定义异常模块9 异常传递思路 总结 什么是异常 xff1f 简
  • python的模块与包的关系

    模块和包的概念 python中的模块 xff0c 其实就是一个python的文件 xff0c 包含了很多类和函数 xff0c 基本上都是可以向外调用的 xff0c 或者整个文件都用来处理某个操作 xff0c 我们使用库和框架就是由模块和包构
  • 一小时学会Python基础练习的十四个练手题

    目录 1到100的加法搬家具办公室人员分配猜拳游戏乘公交车吃苹果九九乘法表烤地瓜奇偶100内相加三角形正方形文件备份学员管理系统 xff08 函数版 xff09 学员管理系统 xff08 面向对象版 xff09 mainmangerSyst
  • ROS Topic (话题通信总结)

    拿到一个功能包 xff0c 先运行一下 xff08 以turtlesim为例子 xff09 xff1a rusrun turtlesim turtlesim node 然后使用 rqt graph 和rostopic list 大致了解有哪
  • vector函数用法

    一维 基本用法 xff1a 1 头文件 include lt vector gt 2 创建vector对象 xff0c vector lt int gt vec 3 尾部插入数字 xff1a vec push back a 4 使用下标访问
  • Jetson nano串口的使用——UART

    UART串口使用两条杜邦线就可以实现数据发送和接收 xff0c 可以很方便的与其他扩展进行数据连接 xff0c 比如微雪的L76X GPS HAT就可以直接连接40Pin的GPIO接口通过UART串口进行数据传递 接下来具体说明Jetson