测试杂文 - linux串口打印

在Linux系统中,你可以使用多种工具和方法来打印串口接收到的信息。以下是几种常见的方法:

使用 cat 命令

cat 命令可以简单地从串口设备读取并打印数据。假设串口设备是 /dev/ttyS0,你可以使用以下命令:

bash 复制代码
cat /dev/ttyS0

注意 :使用 cat 命令时,终端会被阻塞,直到你手动停止(例如按 Ctrl+C)。

使用 screen 命令

screen 是一个终端仿真程序,也可以用于读取串口数据。你可以通过以下命令启动 screen

bash 复制代码
screen /dev/ttyS0 9600

这里的 9600 是波特率(Baud Rate),根据你的串口通信设置进行调整。

使用 minicom

minicom 是一个功能强大的串口通信工具,通常用于配置和调试串口设备。

  1. 首先安装 minicom(如果尚未安装):

    bash 复制代码

sudo apt-get install minicom # 对于Debian/Ubuntu系统 sudo yum install minicom # 对于CentOS/RHEL系统

```

  1. 配置 minicom

    bash 复制代码
    sudo minicom -s

    在配置菜单中,选择 Serial port setup,然后设置串口设备(例如 /dev/ttyS0)和波特率等参数。保存并退出配置菜单。

  2. 启动 minicom

    bash 复制代码
    minicom

使用 cu 命令

cu 是另一个串口通信工具,通常与 uucp 包一起安装。

  1. 安装 uucp(如果尚未安装):

    bash 复制代码
    sudo apt-get install uucp  # 对于Debian/Ubuntu系统  sudo yum install uucp      # 对于CentOS/RHEL系统
  2. 使用 cu 连接串口并打印数据:

    bash 复制代码
    cu -l /dev/ttyS0 -s 9600

    连接成功后,你可以看到串口接收到的数据。要退出,通常可以使用 ~.(即波浪号加句点)。

使用 Python 脚本

你也可以使用Python编写脚本来读取和打印串口数据。以下是一个简单的示例,使用 pyserial 库:

  1. 安装 pyserial

    bash 复制代码
    pip install pyserial
  2. 编写并运行Python脚本:

    python 复制代码
    import serial   ser = serial.Serial('/dev/ttyS0', 9600, timeout=1)   while True:      if ser.in_waiting > 0:          data = ser.readline().decode('utf-8').rstrip()          print(data)

注意事项

  1. 权限 :访问串口设备通常需要超级用户权限。你可以使用 sudo 提升权限,或者将当前用户添加到 dialout 组(或其他管理串口设备的组):

    bash 复制代码
    sudo usermod -aG dialout $USER  newgrp dialout  # 重新登录或执行这个命令以应用组更改
  2. 设备路径 :不同的Linux发行版和硬件设置可能会使用不同的设备路径(例如 /dev/ttyUSB0)。使用 dmesg 命令或 ls /dev/tty* 可以帮助你找到正确的设备路径。

相关推荐
小白同学_C2 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~3 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei3 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf
yunfuuwqi3 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔3 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠3 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了3 小时前
6.库制作与原理
linux·服务器
Zach_yuan5 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
AtoposのCX3305 小时前
Docker运行hello-world镜像失败或超时
运维·docker
马猴烧酒.5 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库