ubuntu上模拟串口通信

前言

有时候写了一些串口相关的程序,需要调试的时候,又没有硬件,或者需要等其他模块完成才能一起联调。这样搭建环境费时费力,很多问题等到最后联调才发现就已经很晚了。
本文提供一种在ubuntu环境下模拟串口,直接就可以调试的方法。

在Ubuntu上创建虚拟串口,可以使用 socat 工具。

1. 安装socat

sudo apt-update
sudo apt-get install socat

2.创建虚拟串口

sudo socat pty,link=/dev/ttyv0,b115200 pty,link=/dev/ttyv1,b115200

上面的命令创建了两个串口 /dev/ttyv0 和/dev/ttyv1, 波特率设置的都是115200.
下面就可以使用这个

3.验证串口是否创建成功

crabe@crabe-ThinkPad:/dev/pts$ ls -lh /dev/ttyv*
lrwxrwxrwx 1 root root 11 Jul 16 14:53 /dev/ttyv0 -> /dev/pts/21
lrwxrwxrwx 1 root root 11 Jul 16 14:53 /dev/ttyv1 -> /dev/pts/22

从上面的结果可以看到创建的两个串口其实是软链接,链接到了/de/pts/目录下的虚拟串口。

注意:这些虚拟串口只在当前会话中存在,退出会话或者关闭socat进程,这些虚拟串口将不复存在。

4. 验证串口是否可以通信

使用putty可以作为串口接收工具观察/dev/ttyv1。然后在另一个终端发送数据到/dev/pts/ttyv0, 这样在putty工具上就能看到发送的数据。

5.安装putty

sudo apt install putty

6.打开putty

sudo putty

在这里插入图片描述

7.另启动一个终端,向串口/dev/ttyv0发送数据。

sudo echo "124" > /dev/ttyv0

这个时候在putty的终端就可以看到数据
在这里插入图片描述
注意:在发送数据的时候可能会提示没有权限。
这个是因为/dev/pts/下面的虚拟串口没有权限。需要手动改一下权限。

crabe@crabe-ThinkPad:/dev$ cd /dev/pts/
crabe@crabe-ThinkPad:/dev/pts$ sudo chmod 777 *

上面的方法是通过三方工具测试的串口通信。与直接写一个c的程序是一样的,可以根据自己程序时间的串口设置情况,配置虚拟串口。达到模拟串口的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1484059.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Python for循环

1.基础格式 for 变量名 in range(数字):循环语句 其中,数字指的是变量名的取值,默认情况下每次循环加一。通常情况下变量名为i。使用break结束当前循环。 例: for i in range(10):print(i) 运行后应会看到输出0到9(如下&…

边缘设备使用记录--阿加犀AIBox 6490

边缘设备使用记录--阿加犀AIBox 6490 设备介绍设备连接glog && gflagsonnx2tfliteAidLite SDK for C模型输入输出的shape执行推断 OpenCV使用 设备介绍 阿加犀AIBox 6490是一款基于高通QCS6490平台的高性价比智能边缘计算终端,具有14TOPS AI算力&#xff0…

【机器学习】使用Python的dlib库实现人脸识别技术

🔥 个人主页:空白诗 文章目录 一、引言二、传统人脸识别技术1. 基于几何特征的方法2. 基于模板匹配的方法3. 基于统计学习的方法 三、深度学习在脸识别中的应用1. 卷积神经网络(CNN)2. FaceNet和ArcFace 四、使用Python和dlib库实…

有了这5个高效视频剪辑工具,你一定会爱上剪辑

如果你是个剪辑新手,不知道如何挑选剪辑视频的工具,又或者是自己目前使用的剪辑工具不理想,想寻找新的剪辑软件;那就请你看看这篇文章,这里介绍的5款剪辑软件都是专业,简单,又高效的剪辑工具。 …

算法日记day 12(栈实现队列|队列实现栈|有效的括号)

队列是先进先出的,就像排队一样,谁在前谁先获得服务 栈是一种先进后出的数据结构 一、用栈实现队列 题目: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)&#xf…

mac docker no space left on device

mac 上 docker 拉取镜像报错 Error response from daemon: write /var/lib/docker/tmp/docker-export-3995807640/b8464f52498789c4ebbc063d508f04e8d2586567fbffa475e3cd9afd3c5a7cf2/layer.tar: no space left on device解决: 增加 docker 虚拟磁盘大小。如下图

笔记 | 算法时间复杂度T(n)的计算方法

👻 基本思想:找出关键语句总执行次数 T 与 输入规模 n 的关系式 (本博客仅提供一种解题思路与通用方法,具体问题请具体分析) 👻 类型:while循环 🚀 思路 找出不满足while条件时&…

fine BI 怎么制作桑基图

fine BI 怎么制作桑吉图 文章目录 fine BI 怎么制作桑吉图桑基图起源什么是桑基图一、数据二、导入帆软 BI三、组件并完成四、 外国桑基图资源(sankeydiagram)总结 桑基图起源 桑基图的起源可以追溯到1898年,‌当时Matthew Henry Phineas Ri…

《昇思25天学习打卡营第22天|生成式-Diffusion扩散模型》

Diffusion扩散模型 本文基于Hugging Face:The Annotated Diffusion Model一文翻译迁移而来,同时参考了由浅入深了解Diffusion Model一文。 本教程在Jupyter Notebook上成功运行。如您下载本文档为Python文件,执行Python文件时,请…

嵌入式系统中的GPIO控制与应用

GPIO是嵌入式系统中最常见且功能最强大的接口之一。它允许硬件工程师通过编程来配置和控制芯片上的数字引脚,实现输入和输出的功能。在本文中,我们将从理论和实践两个方面探讨GPIO的工作原理,并通过一个简单的示例项目来演示如何利用GPIO控制…

微软全球系统蓝屏根源与警示

本次事件是一次由CrowdStrike软件更新引发的全球性IT问题,主要影响运行Windows操作系统的机器。CrowdStrike是一家知名的美国网络安全公司,其产品Falcon Sensor旨在保护云工作负载和终端安全,防止黑客攻击和系统中断。然而,这次故…

关于springboot的@DS(““)多数据源的注解无法生效的原因

对于com.baomidou.dynamic.datasource.annotation的DS注解,但凡有一个AOP的修改都会影响到多数据源无法生效的问题,本次我是添加了方法上添加了Transactional,例如下图: 在方法上写了这个注解,会影响到DS("db2&qu…

Hyper-V和VMWare使用对比

图片来自互联网 1.起因 最近在学习Linux相关的知识,第一步当然就是装虚拟机了。之前是基于微软Hyper-V平台装的Ubuntu,用起来总是感觉卡卡的。我还一直天真的以为虚拟机都是这个样子的,直到用了VMWare之后…。VMWare我主要装的是VMWare16Pro&#xff0…

Xinstall教你如何利用携带参数下载,精准追踪用户来源!

在移动互联网时代,App的推广和运营成为了各行各业竞相追逐的焦点。然而,随着渠道环境的日益复杂,如何精准追踪用户来源、提升运营效率,成为了摆在推广者面前的一大难题。好在,Xinstall携带参数下载技术的出现&#xff…

Java学习Day7

一 :数组和自定义数据类型的关系 1.1 有什么关系? 数组可以存储自定义数据类型 1.2 数组如何存自定义数据类型? 数组:数据类型[] 数组名 new 数据类型[长度]; 定义数组和初始化 Student[] arr new Student[5]; 自定义数据类…

2、建立模型,截图,参数配置(simulink仿真)

2、建立模型,截图,参数配置(simulink仿真) 基本技能建模导入Word(截图是不要用qq截图,不专业,应使用其自带截图方式)配置参数 基本技能 1,参数设置 2,结果保…

矩阵形式的bezier曲线

本文分享一段矩阵形式的bezier代码&#xff1a; clc clear% 控制点 P [25;10;5;13]; %% 获得M矩阵 n length(P) - 1; M zeros(n1,n1); for i 1:n1for j 1:n1if(ij<n3)M(i,j) (-1)^(n -i-j2)*nchoosek(n,n-i1)*nchoosek(n-i1,j-1);elseM(i,j) 0;endend end t_temp l…

Python爬虫(1) --基础知识

爬虫 爬虫是什么&#xff1f; spider 是一种模仿浏览器上网过程的一种程序&#xff0c;可以获取一些网页的数据 基础知识 URL 统一资源定位符 uniform resource locator http: 超文本传输协议 HyperText Transfer Protocol 默认端口 80 https: 安全的超文本传输协议 security…

【洁净室】压缩气体检测参考标准:悬浮粒子、微生物、水油检测

在洁净室&#xff0c;特别是达到ISO 5或更高级别的环境中&#xff0c;维护严格的污染控制是不可或缺的。其中&#xff0c;压缩气体的质量是一个至关重要的潜在污染源。为确保压缩气体不会引入损害洁净室完整性的微粒&#xff0c;适当的气体取样成为了一项核心任务。国际标准ISO…

生活中生智慧

【 圣人多过 小人无过 】 觉得自己做得不够才能做得更好&#xff0c;互相成全&#xff1b;反求诸己是致良知的第一步&#xff1b;有苦难才能超越自己&#xff0c;开胸怀和智慧&#xff1b;不浪费任何一次困苦&#xff0c;危机中寻找智慧&#xff0c;成长自己。 把困苦当作当下…