树莓派串口通信 USB串口通信 常用串口命令
树莓派串口通信 USB串口通信
文章目录
- 树莓派串口通信 USB串口通信
- 准备
- 发送数据
- 接收数据
如果不知道树莓派怎么使用USB串口通信的,欢迎浏览我的另一篇博客文章: 树莓派使用USB串口通信 CH340
这篇文章就以USB串口为例,简单的说下串口通信时常用的几个命令。注意:代码均为Python编写。
个人博客原址:树莓派串口通信 USB串口通信
准备
- 树莓派4
- 两个CH340
- 串口助手
发送数据
最基础的发送数据方式
''' ser.write(data) # 发送数据data,data为字节型 ''' import serial ser = serial.Serial("/dev/ttyUSB0", 115200) ser.flushInput() # 清除缓存 ser.write("LightningMaster\r\n".encode()) # 发送数据 \r\n可以实现换行 encode()默认是'utf-8'
运行这个代码就可以在串口助手上收到数据。
发送中文
import serial ser = serial.Serial("/dev/ttyUSB0", 115200) ser.flushInput() # 清除缓存 ser.write("闪电丶教主\r\n".encode('gb2312')) # 发送数据 \r\n可以实现换行
发送数据包 十六进制
import serial import struct ser = serial.Serial("/dev/ttyUSB0", 115200) ser.flushInput() # 清除缓存 pack = struct.pack('BBBB', 0xaa, 6, 7, 0x55) # 将数据打包 格式是unsigned char ser.write(pack)
这个地方使用到了struct.pack,具体有啥作用可以自行百度去看看,我在这就不多说了。这里的作用就是将数据打包,返回格式是unsigned char 的字节串。
可以使用这个函数给数据加上“头”“尾”之类的东西。
接收数据
'''
ser.read(num) # 读取收到的num个字节的数据
ser.inWaiting() # 可以获取还未读出的数据
'''
import serial
import struct
import time
ser = serial.Serial("/dev/ttyUSB0", 115200)
ser.flushInput() # 清除缓存
while True:count = ser.inWaiting() # 获取还有多少字符未读if count != 0:data = ser.read(count) # 读取数据存到data中print(data) # 打印接受到的数据time.sleep(0.1) # 系统等待
运行代码,使用串口助手发送数据,可以在树莓派中看到返回值。
可以看到树莓派成功接收到了数据。
如果想把b’ '去掉可以使用代码
print(data.decode('utf-8'))
接收中文的话需要使用下面的代码
print(data.decode('gb2312'))
具体为什么使用encode和decode,可以自行查阅Python相关资料。
树莓派串口通信 USB串口通信 常用串口命令相关推荐
- Win系统下打开串口转换USB口的RS232串口,打不开问题
一.[问题] 1. QT窗口程序想通过串口与设备通信,于是以QT的方式初始化好,由于串口(物理)转换USB的串口只有一个,别人用了,自己就没法用,然后用虚拟串口调试,一切都正常,把功能都实现了8成了. ...
- USB转串口与虚拟串口相关
不是原创,网上查询整理. 目录 一.串口与并口 二.USB转串口.虚拟串口概念 三.串口占用问题 四.其他:多个程序共享一个串口数据 五.COM.COM+和DCOM与COM端口无关 一.串口与并口 ( ...
- 树莓派串口通信编码_树莓派3B/3B+与Rosbot通信02:USB与串口通信
前言:在上一篇中,我们已经下载和安装好通信的各种库和其他东西,在这一篇中我们将介绍如何将树莓派与Rosbot连接设置和基础的代码编程. 串口通信 串口设置 1.设置波特率:进入minicom配置界面 ...
- 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...
RS232 在我们电脑上,一般都会有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑不带9针串口,所以和单片机通信越来越趋于使用USB虚拟串口. 九针 ...
- 计算机串口连接原理,串口通信的原理及USB转串口通信
串口通信的原理 串口通信(SerialCommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一 ...
- 树莓派装Ubuntu系统配置串口引脚与stm32通信
说明 为了去掉usb转ttl接口,充分利用单片机本身的性能,因此需要配置相应的引脚作为串口进行与stm32的通信. 初始引脚 dtoverlay -a | grep uart 上面的命令可以查看串口资 ...
- android usb通讯波特率,USB串口的特殊波特率通信
USB串口的特殊波特率通信是指波特率为非标准数值的任意波特率.由于这些波特率是非标的,所以从硬件到软件都有特殊要求和方法才可以实现.本文以最新2015款的波仕USB232ET转换器为例从硬件和软件两方 ...
- android usb转串及串口通信
1.串口与USB转串口 这两种方式都可以实现android下软件与硬件的通信,串口要早于usb出现,在行业应用范围广,不过传输速度及便携性要逊于usb: 2.android 下与串口通信不需要或者很少 ...
- 树莓派使用mini串口与外部进行通信
目录 一.外设IO口定义说明 二.Serial 配置 三.设置硬件串口为GPIO串口 四.minicom串口助手测试 一.外设IO口定义说明 从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用 ...
最新文章
- Spring Boot 整合 Elasticsearch,实现 function score query 权重分查询
- Android开发必看知识,不看后悔
- Java中的String、StringBuilder、StringBuffer
- React学习:入门实例-学习笔记
- 用JS轻松实现一个录音、录像、录屏工具库
- 永恒边境白羊座服务器维护,永恒边境升级攻略 速升50级技巧
- python之网络编程1-socket-tcp与udp
- MyBatis 为什么需要通用 Mapper ? 1
- 让PHP支持页面后退的两种方法
- JavaMail(2)——给多人发送、抄送
- 云计算的发展趋势_云计算的未来发展趋势
- 2021新鲜出炉软件测试的真实面试题(一篇足以)
- plc和c语言和cnc,cnc数控编程和plc编程哪个难学
- 使用docker搭建couchbase集群
- 【CSS】CSS怎么设置小于12px的字体 浏览器限制最小字体大小解决方法
- Python :图像的手绘效果
- vue+d3实现横向树状图(节点使用矩形图展示信息)
- 『CPU飙高』在开发环境中,.NET如何排查CPU飙高原因
- Windowed reading and writing
- SAP ABAP 系列丛书推荐:PP 报工