【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博客

相关推荐
it's all you3 小时前
CentOS设置静态IP教程(2024年12月20日)
linux·tcp/ip·centos
xuanfengwuxiang4 小时前
安卓帧率获取
android·python·测试工具·adb·性能优化·pycharm
m0_694938015 小时前
Leetcode打卡:字符串及其反转中是否存在同一子字符串
linux·服务器·leetcode
看星星的派大星6 小时前
rk3588 android12 root
linux
飘飘燃雪6 小时前
Linux Modbus协议详解,代码示例
linux·运维·服务器·modbus
蜗牛hb6 小时前
Kali基础知识
linux·运维·服务器
恩爸编程7 小时前
深入浅出 Linux 操作系统
linux·运维·服务器·linux系统介绍·linux操作系统介绍·linux操作系统是什么·linux操作是什么
马船长7 小时前
RCE-PLUS (学习记录)
java·linux·前端
激进的猴哥7 小时前
day20-yum精讲
linux·运维·服务器
忆源7 小时前
Linux基础--1.1 什么是 Linux 操作系统
linux·运维·服务器