【minicom】Linux串口调试工具 - minicom的安装及使用

目录

一、安装

二、配置

1.基本信息查询

2.配置minicom的参数

  • 基本参数配置
  • 设备类型配置

3.Minicom基本操作

  • 配置选项
  • Filenames and paths
  • Modem and dialing

三、使用minicom

1.命令行启动参数

2.参数使用举例

3.交互使用minicom

4.关于minicom脚本

四、常用配置总结:

五、参考资料

minicom,tkterm都是linux下应用比较广泛的串口软件,这里简单介绍minicom使用。

电脑基本不配备串行接口,所以,usb转串口成为硬件调试时的必然选择。

目前知道的,PL2303的驱动是有的,在dev下的名称是ttyUSB#。

一、安装

bash 复制代码
 sudo apt-get install minicom 

初用很难受,我提前介绍一下按键:

Esc:退出

Enter:确认

⬆/⬇:向上向下箭头来切换所选参数/配置选项

A-Z:根据提示输入字母,选择对应的配置选项;

以上进行基本配置够用了,后面进入minicom界面后的后面再介绍。

二、配置

安装完成后, 需先进行配置。具体步骤如下:

1. 基本信息查询
  • linux下的所有操作面向用户的都是文件操作;

  • 在对串口操作之前,应该先确认对该文件有没有读写权限。

bash 复制代码
# linux下的usb串口命名为ttyUSB,运行命令,可以看到有几个设备挂载。
ls -l /dev/ttyUSB*
#只有ttuUSB0
crw-rw---- 1 root dialout 188, 0 12月  6 15:45 /dev/ttyUSB0
 
#再用lsusb察看:
lsusb
#如下所示
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 005 Device 002: ID 046d:c05a Logitech, Inc. Optical Mouse M90
 Bus 007 Device 002: ID 046d:c31d Logitech, Inc. 
 Bus 004 Device 009: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
  • usb 004正是我们挂上去的usb转串口线缆,使用的芯片是PL2303

  • 如上所示,ttyUSB0设备root所有 ,以普通用户身份打开minicom是没法访问文件

2. 配置minicom的参数
2.1基本参数配置
  • 下面分别配置Serial Device、Bps/Par/Bits 、Hardware Flow Control三个参数
bash 复制代码
#运行`sudo minicom -s`便进入了minicom的配置界面;
sudo minicom -s 

            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+
#使用上下键选择`Serial port setup`,回车;

            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+
            
#此时光标在"change which setting"后面停留,它的上面有如下菜单:  

    +-------------------------------------------------+
    | A -    Serial Device      : /dev/modem          |
    | B - Lockfile Location     : /var/lock           |
    | C -   Callin Program      :                     |
    | D -  Callout Program      :                     |
    | E -    Bps/Par/Bits       : 115200 8N1          |
    | F - Hardware Flow Control : No                  |
    | G - Software Flow Control : No                  |
    |                                                 |
    |    Change which setting?                        |
    +-------------------------------------------------+

输入A :配置串口驱动为 /dev/ttyUSB0 (说明:/dev/ttyUSB0 对应为你连接开发板的端口)
输入E :配置速率为 115200 8N1
输入F :将 Hardware Flow Control 设 为 NO (这一步很重要,不然可能连接不上)

回车确认

Esc退出**

2.2 设备类型配置

由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem,

所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空.

shell 复制代码
#同样的:运行`sudo minicom -s`便进入了minicom的配置界面;
sudo minicom -s 
#选择[Modem and dialing parameter setu]
 +--------------------[Modem and dialing parameter setup]---------------------+
 |                                                                            |
 | A - Init string .........                                                  |
 | B - Reset string ........                                                  |
 | C - Dialing prefix #1.... ATDT                                             |
 | D - Dialing suffix #1.... ^M                                               |
 | E - Dialing prefix #2.... ATDP                                             |
 | F - Dialing suffix #2.... ^M                                               |
 | G - Dialing prefix #3.... ATX1DT                                           |
 | H - Dialing suffix #3.... ;X4D^M                                           |
 | I - Connect string ...... CONNECT                                          |
 | J - No connect strings .. NO CARRIER            BUSY                       |
 |                           NO DIALTONE           VOICE                      |
 | K - Hang-up string ...... ~~+++~~ATH^M                                     |
 | L - Dial cancel string .. ^M                                               |
 |                                                                            |
 | M - Dial time ........... 45      Q - Auto bps detect ..... No             |
 | N - Delay before redial . 2       R - Modem has DCD line .. Yes            |
 | O - Number of tries ..... 10      S - Status line shows ... DTE speed      |
 | P - DTR drop time (0=no). 1       T - Multi-line untag .... No             |
 |                                                                            |
 | Change which setting?     Return or Esc to exit. Edit A+B to get defaults. |
 +----------------------------------------------------------------------------+

设置完成后选择Save setup as dfl将当前设置保存为默认设置.

在配置菜单 选Save setup as df1保存(一定要记得这一步)

3.Minicom基本操作

进入minicom界面后,需使用Ctrl+a 进入设置状态.

复制代码
- Z键:进入设置菜单
- O键:打开配置选项;
- W键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行;
	   这个功能在查看内核的啓动信息时很有用。
- C键:清除屏幕的显示内容;
- B键:浏览minicom的历史显示;
- X键:退出minicom,会提示确认退出。
3.1 配置选项

Ctrl + A --> O

复制代码
+-----[configuration]------+

| Filenames and paths |

| File transfer protocols -|

| Serial port setup |

| Modem and dialing |

| Screen and keyboard |

| Save setup as dfl |

| Save setup as.. |

| Exit |

+--------------------------+
Filenames and paths
none 复制代码
+-----------------------------------------------------------------------+

| A - Download directory : /home/wonux |

| B - Upload directory : /tmp |

| C - Script directory : /root/minicom |

| D - Script program : runscript or /bin/bash |

| E - Kermit program : |

| F - Logging options |

| |

| Change which setting? |

+-----------------------------------------------------------------------+

C - Script文件的存放位置: <C-a> g运行脚本时的路径 。

D - 选择脚本程序: 默认runscript,也可以选择bash脚本格式。

Modem and dialing

由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空。

none 复制代码
+--------------------[Modem and dialing parameter setup]---------------------+

| A - Init string .........                                                 |

| B - Reset string ........                                                 |

| I - Connect string ...... CONNECT                                          |

| J - No connect strings .. NO CARRIER            BUSY                       |

| K - Hang-up string ......                                                  |

| L - Dial cancel string .. ^M                                               |
                                                               
| M - Dial time ........... 45      Q - Auto bps detect ..... No             |

| N - Delay before redial . 2       R - Modem has DCD line .. Yes            |

| O - Number of tries ..... 10      S - Status line shows ... DTE speed      |

| P - DTR drop time (0=no). 1       T - Multi-line untag .... No             |

|                                                                            |

| Change which setting?       (Return or Esc to exit)                        |

+----------------------------------------------------------------------------+

设置完成后选择 Save setup as dfl 将当前设置保存为默认设置。

三、使用minicom

1. 命令行启动参数

更多的参数,参见"man minicom"的输出。

  • **-s **

设置。 root 使用此选项在/etc/minirc.dfl中编辑系统范围的缺省值。使用此参数后,minicom 将不进行初始化,而是直接进入配置菜单。如果因为你的系统被改变,或者第一次运行minicom时,minicom不能启动,这个参数就会很有用。对于多数系统,已经内定了比较合适的缺省值。

  • -o

    不进行初始化。minicom 将跳过初始化代码。如果你未复位(reset)就退出了minicom,又想重启一次会话(session),那么用这个选项就比较爽(不会再有错误提示:modem is locked ---- 注)。但是也有潜在的危险:由于未对lock文件等进行检查,因此一般用户可能会与uucp之类的东东发生冲突...也许以后这个参数会被去掉。现在姑且假定,使用modem的用户对自己的行为足够负责。

  • -m

    用Meta或Alt键重载命令键。在1.80版中这是缺省值,也可以在minicom 菜单中配置这个选项。不过若你一直使用不同的终端,其中有些没有Meta或Alt键,那么方便的做法还是把缺省的命令键设置为Ctrl-A,当你有了支持 Meta或Alt键的键盘时再使用此选项。Minicom假定你的Meta键发送ESC前缀,而不是设置字符最高位的那一种(见下)。

  • -M

    跟"-m"一样,但是假定你的Meta键设置字符高端的第八位(发送128+字符代码)。

  • -z

    使用终端状态行。仅当终端支持,并且在其termcap或terminfo数据库入口中有相关信息时才可用。

  • -l

    逐字翻译 高位被置位的字符。使用此标志, minicom将不再尝试将IBM行字符翻译为ASCII码,而是将其直接传送。许多PC-Unix克隆不经翻译也能正确显示它们(Linux使用专门的模式:Coherent和Sco)。

  • -w

    在启动的时候就自动换行,这样启动之后不用运行 w进行设置了,详细参考后面。

  • -a

特性使用。 有些终端,特别是televideo终端, 有个很讨厌的特性处理(串行而非并行)。minicom缺省使用'-a on',但若你在用这样的终端,你就可以(必须!)加上选项'-a off'。尾字'on'或'off'需要加上。

  • -t

    终端类型。使用此标志, 你可以重载环境变量TERM, 这在环境变量MINICOM 中使用很方便; 你可以创建一个专门的 termcap 入口以备minicom 在控制台上使用,它将屏幕初始化为raw模式, 这样,连同'-l'标志一起,就可以不经翻译而显示IBM行字符。

  • -c

    颜色使用。些终端(如Linux控制台)支持标准ANSI转义序列色彩。由于termcap显然没有对于色彩的支持,因而minicom 硬性内置了这些转义序列的代码。所以此选项缺省为off。使用'-c on'可以打开此项。把这个标志,还有'-m'放入MINICOM环境变量中是个不错的选择。

  • -S

    脚本。 启动时执行给定名字的脚本。到目前为止,还不支持将用户名和口令传送给启动脚本。如果你还使用了'-d'选项,以在启动时开始拨号,此脚本将在拨号之前运行,拨号项目入口由'-d'指明。

  • -p

    要使用的伪终端。 它超载配置文件中定义的终端端口,但仅当其为伪tty设备。提供的文件名必须采用这样的形式:(/dev/)tty[p-z][0-f]

  • -C

    文件名。 启动时打开捕获输出到文件。

  • -8

    不经修改地传送8位字符。"连续"意指未对地点/特性进行真正改变,就不插入地点/特性控制序列。此模式用于显示8位多字节字符,比如日本字(TMD!应该是中国字!!)。不是8位字符的语言都需要(例如显示芬兰文字就不需要这个)。

2. 参数使用举例
  • -w: 启动minicom的时候,开启自动换行:
    如果不加这个项,那么在minicom和pc交互的时候中键入命令超过一行时候会被截断,(这时候可以通过<C-a> w来开和关切换截断行功能).
  • -c on: 启动minicom的时候,显示颜色:
    这样,启动之后我们会发现显示的内容不是黑白的了。
  • -C <filename>: 启动minicom的时候,自动创建日志捕捉文件:
    这样,启动之后,所在minicom的输出都会在中保留一份,如果原来文件存在,则追加,不存在则创建一个。
  • -m: 启动minicom的时候,将命令键修改成Meta键(变成[Alt]或者[ESC]等):
    这样,我们可以取代用<C-a> *发送命令的方式,将<C-a>替换成[Alt]或者[ESC].
  • -S <filename>: 启动minicom的时候,指定运行的脚本:
    这里,是你的脚本文件的名字,应该指定绝对路径,否则就会在你启动minicom的路径下寻找。
3. 交互使用minicom

Minicom是基于窗口的。要弹出所需功能的窗口,可按下Ctrl-A (以下使用C-A来表示Ctrl-A),然后再按各功能键(a-z或A-Z)。先按C-A,再按'z',将出现一个帮助窗口,提供了所有命令的简述。配置 minicom(-s 选项,或者C-A、O)时,可以改变这个转义键,不过现在我们还是用Ctrl-A吧。

这里,只给出很少的命令,更多的交互命令参见" z"的帮助输出。

  • 查看帮助:<C-a> z.
    这样会显示所命令列表,便于查找。
  • 配置选项:<C-a> o.
  • 回到shell: <C-a> j.
    这样minicom会在后台stop,直到fg将它调到前台。
  • 开/关捕捉minicom输出到文件:<C-a> l.
    这样会打开/关闭捕捉输出功能,捕捉的输出会存放在一个你选择的文件中。
  • 运行脚本:<C-a> g:
  • 退出minicom:<C-a> x.
    这样会退出minicom.
4. 关于minicom脚本:

可以参考man手册man runscript.交互命令中可以运行"<C-a> G"来运行脚本。

  • 注释是'#'开始的。
  • send命令中的字符串,有\c就不会发送默认的\r了。例:send "ls \c"就不会自动回车,这里'\c'也可以在前面。
    目前发现,脚本功能比较弱。在minicom原代码中有简单的例子:scriptdemo和unixlogin,可以直接在linux运行runscript.
  • 可以指定minicom的脚本运行程序:
    作为脚本解释器的程序。缺省是"runscript",也可用其它的东东(如: /bin/sh 或 "expect",这样就可以用shell或者其他的脚本了_)。Stdin和Stdout连接到modem,Stderr连接到屏幕。

四、常用配置总结:

  • 首次启动运行 minicom -s 配置

  • 启动minicom后运行 <C-a> o 配置

  • Serial port setup

none 复制代码
A - Serial Device : /dev/ttyUSB0 
E - Bps/Par/Bits : 9600 8N1 
F - Hardware Flow Control : No 
G - Software Flow Control : No 
  • Modem and dialing
none 复制代码
A - Init string ........
B - Reset string .......
K - Hang-up string .....
  • Filenames and paths
none 复制代码
C - Script directory : /root/minicom
D - Script program : /bin/bash

C:脚本文件的存放位置: <C-a> g运行脚本时的路径 。

D:选择脚本程序: 默认runscript,也可以选择bash脚本格式。

注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复

五、参考资料

串口调试利器 -- Minicom配置及使用详解 - 孤逐王 - 博客园

minicom 使用方法通俗易懂]-腾讯云开发者社区-腾讯云

【教程】minicom使用教程_创十三的技术博客_51CTO博客

深入探讨minicom通信程序-CSDN博客

相关推荐
眠修22 分钟前
Kuberrnetes 服务发布
linux·运维·服务器
即将头秃的程序媛3 小时前
centos 7.9安装tomcat,并实现开机自启
linux·运维·centos
fangeqin3 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
爱奥尼欧5 小时前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
超喜欢下雨天5 小时前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
tan77º6 小时前
【Linux网络编程】网络基础
linux·服务器·网络
笑衬人心。7 小时前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
chanalbert8 小时前
CentOS系统新手指导手册
linux·运维·centos
星宸追风9 小时前
Ubuntu更换Home目录所在硬盘的过程
linux·运维·ubuntu
热爱生活的猴子9 小时前
Poetry 在 Linux 和 Windows 系统中的安装步骤
linux·运维·windows