Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号

2023-05-16

When you plugin your USB-UART converter, and run “> ls /dev/tty*”, if you don’t see the /dev/ttyUSB0 (or similar), your Linux does not detect your USB-UART device.
当插入USB设备后,在终端运行 ls /dev/tty* 时,若没有找到类似 /dev/ttyUSB0 的内容,说明Linux没有检测到设备。
在这里插入图片描述

We need to install the driver for your device.
需要安装驱动。

在终端输入lsmod | grep usbserial,若返回usbserial,说明系统支持USB转串口。


参考:Ubuntu下USB转串口芯片驱动程序安装cp210x,pl2303_飞鸿_新浪博客
参考这篇安装不成功,尝试解决未果。(可跳过该部分)

cd ~
# 打开终端安装驱动
sudo apt-get install build-essential linux-source
# 复制文件
cp /usr/src/linux-source-4.15.0.tar.bz2 .
# 解压.bz2
bunzip2 linux-source-4.15.0.tar.bz2
# 解压.tar
tar xf linux-source-4.15.0.tar
# 转换路径
cd ~/linux-source-4.15.0/

make oldconfig
make prepare
make scripts

注:

  • 安装版本会打印出来,此处是linux-source linux-source-4.15.0
  • cp是复制文件命令
  • Linux bunzip2命令是.bz2文件的解压缩程序
  • tar是用来建立,还原备份文件的工具程序
    -x或–extract或–get 从备份文件中还原文件
    -f<备份文件>或–file=<备份文件> 指定备份文件

驱动安装报错解决:网络不稳定,更换源。
在这里插入图片描述
(在主目录下搜索不到source.list,要在“其他位置”搜索,双击source.list可以打开图形化交互界面,也可以更改源,前提要勾选上面的restricted,universe,multiverse,源代码。)


下载USB转串口驱动PL2303
(有效,不过具体的文件名根据系统文件来)
参考:ubuntu16.04 下Python串口通信配置与代码实现(PL2303串口)_xiao_lxl的专栏-CSDN博客
在这里插入图片描述
上图中串口0应该就是新插入的设备,即ttyUSB0(对应COM1口)。

在终端输入ls /dev/tty*,可以看到/dev/ttyUSB0和/dev/ttyUSB1(或类似的),说明Linux系统已识别到设备。若未识别到,则查看虚拟机的菜单栏“虚拟机->可移动设备-><你的设备>”是否连接。

Linux的设备对应于/dev/目录中的某个文件,串口COM1对应ttyS0,COM2对应ttyS1,使用以下命令来查看你对COM1的权限:
$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 2009-08-01 11:05 /dev/ttyS0
可以看到,它的属主是root。

至此成功安装了USB转串口驱动


参考:ubuntu下的usb转串口的使用 - dengchendeng - 博客园

安装minicom (Linux系统下的串口调试助手,键盘操作)

sudo apt-get install minicom

sudo minicom打开界面,Ctrl-A Z打开选项栏,打什么字母就相当于选择对应选项。
在这里插入图片描述
P修改波特率、校验方式等(命令 sudo minicom -s可直接打开该界面)。
O中的Serial port setup修改串口号,串口号格式要与ls /dev/tty*一致。
Q退出minicom

最后一定要选择 Save setup as dfl保存为默认配置,这样下次打开时才是配置完的串口。

然后,选择 exit 退出。

在上面minicom的配置中设置Serial Device: /dev/ttyUSB0,串口参数等。重启minicom,这样基本上就可以正常使用minicom来打印串口信息了。

sudo minicom后,就可以直接输入命令回车,串口接收数据会打印在下方。
对于有两个USB的情况,可以分别配置一下试试。


在编写程序时,要注意区分\n,\r和\r\n,在windows下感觉没什么区别,但linux下可以看出很明显的区别,真正的换行是\r\n,如果只写\n你会发现呈现一种对角线的形式来输出,因为他是直接在前一次输入的结尾换行到下一行,不会自动回车到行首。(link)


CuteCom是Ubuntu自带的串口调试助手,是图形化界面的,不过支持的波特率不够全,使用起来更方便,点击Ubuntu系统界面上的activity(活动)搜索CuteCom即可找到。

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

Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号 的相关文章

  • 即使 makefile 和源代码存在,为什么“Build Project”在 Eclipse Helios CDT 中显示为灰色?

    我无法构建我的项目 我在 Eclipse Helios 中创建了一个新的 CDT 项目 并告诉它使用现有的源代码和 makefile 这两者都正确显示在 Package 和 Project 视图中 然而 项目 菜单中的 构建全部 和 构建项
  • 在单个命令中使用前缀重命名文件夹中的所有文件

    重命名带有前缀的文件夹中的所有文件 Unix 假设一个文件夹有两个文件 a txt b pdf 那么它们都应该从一个命令重命名为 Unix a txt Unix b pdf 如果您的文件名包含没有空格并且你没有任何子目录 你可以使用一个简单
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • 在键盘热插拔上加载模块

    我正在尝试学习如何为 Linux 系统编写模块和驱动程序 类似于this https unix stackexchange com questions 120839 usb kernel module does not load on de
  • 我在哪里可以学习如何使 C++ 程序与操作系统 (Linux) 交互

    我是一个 C 初学者 我想创建与操作系统交互的小程序 使用 Kubuntu Linux 到目前为止 我还没有找到任何教程或手册来让 C 与操作系统交互 在 PHP 中 我可以使用命令 exec 或反引号运算符来启动通常在控制台中执行的命令
  • 退出 bash 脚本但保持进程运行

    我正在运行服务器 需要使用参数执行以下命令 这些脚本目前工作得很好 但问题是当我运行脚本时我无法返回到控制台 它在控制台中保持运行 如果我强行停止它 那么该过程也会停止 我想继续运行该进程并返回到控制台 bin sh php home st
  • 将 stdout 作为命令行 util 的文件名传递?

    我正在使用一个命令行实用程序 该实用程序需要传递文件名以将输出写入 例如 foo o output txt 它唯一写入的东西stdout是一条消息 表明它运行成功 我希望能够通过管道传输写入的所有内容output txt到另一个命令行实用程
  • 如何在 Linux 中使用单行命令获取 Java 版本

    我想通过单个命令获取 Linux 中的 Java 版本 我是 awk 的新手 所以我正在尝试类似的事情 java version awk print 3 但这不会返回版本 我将如何获取1 6 0 21从下面的Java版本输出 java ve
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • grails 上的同步块在 Windows 上有效,但在 Linux 上无效

    我有一个 grails 应用程序 它依赖于服务中的同步块 当我在 Windows 上运行它时 同步按预期工作 但当我在 ams linux 上运行时 会出现 StaleObjectStateException 该问题在以下示例中重现 cla
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手
  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • 是否从页面缓存中的脏页面进行文件读取?

    当字节写入文件时 内核不会立即将这些字节写入磁盘 而是将这些字节存储在页缓存中的脏页中 回写缓存 问题是 如果在脏页刷新到磁盘之前发出文件读取 则将从缓存中的脏页提供字节 还是首先将脏页刷新到磁盘 然后进行磁盘读取以提供字节 将它们存储在进
  • 具有少量父设备属性的 udev 规则

    我需要复杂且通用的udev规则来确定插入任何 USB 集线器的特定端口的 USB 设备 所以 我必须结合设备树不同层的父属性 我有这个 udevadm info query all name dev ttyUSB0 attribute wa
  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • python:numpy 运行脚本两次

    当我将 numpy 导入到 python 脚本中时 该脚本会执行两次 有人可以告诉我如何阻止这种情况 因为我的脚本中的所有内容都需要两倍的时间 这是一个例子 usr bin python2 from numpy import print t
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 如何查明 Ubuntu 上安装了哪个版本的 GTK+?

    我需要确定 Ubuntu 上安装了哪个版本的 GTK 男人似乎不帮忙 这个建议 https stackoverflow com a 126145 会告诉您安装了哪个 2 0 的次要版本 不同的主要版本将具有不同的包名称 因为它们可以在系统上

随机推荐