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的程序是一样的,可以根据自己程序时间的串口设置情况,配置虚拟串口。达到模拟串口的效果。

相关推荐

  1. 如何在自己笔记本电脑模拟串口通讯

    2024-07-17 16:06:03       47 阅读
  2. ubuntu通过修改grub启动参数,将串口重定向到sol

    2024-07-17 16:06:03       23 阅读
  3. C++ QT串口通信(1)-串口模块QtSerialPort详解

    2024-07-17 16:06:03       43 阅读
  4. Ubuntu如何找到设备,打印串口日志

    2024-07-17 16:06:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 16:06:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 16:06:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 16:06:03       58 阅读
  4. Python语言-面向对象

    2024-07-17 16:06:03       69 阅读

热门阅读

  1. openfeign的概念作用和使用流程

    2024-07-17 16:06:03       21 阅读
  2. Blob数据格式怎么转换成ArrayBuffer

    2024-07-17 16:06:03       20 阅读
  3. Qt篇——在线程中更新ui控件

    2024-07-17 16:06:03       21 阅读
  4. 520. 检测大写字母

    2024-07-17 16:06:03       22 阅读
  5. CSharp类和对象练习--求Pi的值

    2024-07-17 16:06:03       37 阅读
  6. 第一阶段面试题总结

    2024-07-17 16:06:03       16 阅读