https://www.cnblogs.com/wonux/p/5897127.html

因为现在电脑基本不配备串行接口,所以,usb转串口成为硬件调试时的必然选择。目前知道的,PL2303的驱动是有的,在dev下的名称是ttyUSB*。 Minicom,是Linux下应用比较广泛的串口软件,这里简单介绍minicom使用。

minicom配置:

安装完成后,请不要着急打开软件。需先进行配置。具体步骤如下:

查看串口设备及文件权限

linux下的所有操作面向用户的都是文件操作,在对串口操作之前,我们应该先确认自己对该文件有没有读写权限。

  1. ls -l /dev/ttyUSB*

linux下的usb串口命名为ttyUSB*,运行上面命令,可以看到有几个设备挂载。 我们这里是:

  1. crw-rw---- 1 root dialout 188, 0 Apr 10 17:10 /dev/ttyUSB0

只有ttuUSB0.再用lsusb查看:

  1. lsusb
  1. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  2. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  3. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  4. Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  5. Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  6. Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  7. Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  8. Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  9. Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  10. Bus 005 Device 002: ID 046d:c05a Logitech, Inc. Optical Mouse M90
  11. Bus 007 Device 002: ID 046d:c31d Logitech, Inc.
  12. Bus 004 Device 009: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

usb 004正是我们挂上去的usb转串口线缆,使用的芯片是PL2303。
但是正如上面显示,ttyUSB0这个设备是root所有的,所以,我们以普通用户身份打开minicom是没法访问该文件的。

配置minicom的参数

运行sudo minicom -s便进入了minicom的配置界面,使用上下键选择Serial port setup,回车。此时光标在“change which setting”后面停留,它的上面有如下菜单:

  1. Serial port setup [Enter]
  2. +-------------------------------------------------------------+
  3. | A - Serial Device : /dev/ttyUSB0 |
  4. | B - Lockfile Location : /var/lock |
  5. | C - Callin Program : |
  6. | D - Callout Program -: |
  7. | E - Bps/Par/Bits : 9600 8N1 |
  8. | F - Hardware Flow Control : No |
  9. | G - Software Flow Control : No |
  10. | |
  11. | Change which setting? |
  12. +-------------------------------------------------------------+

我们只需输入上面对应的字母,就可以进如相应的菜单进行设置。设置完成,回车,光标会回到“change which setting”后面,如此重复。完成按回车返回主菜单即可。 返回主菜单后,选择“Save setup as df1”,将其保存为默认设置,然后选择 Exit退出。需退出后重新打开minicom,软件才会使用上述参数进行初始化。

注意:如果沒有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。

如果上面设置顺利,打开minicom

  1. # minicom

重新给设备上电后,此时,窗口里就有信息打印出来了。
minicom基本操作如下:
1)需使用Ctrl+a 进入设置状态
2)按z进入设置菜单
(1)O键:打开配置选项;
(2)W键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行。这个功能在查看内核的啓动信息时很有用。
(3)C键:清除屏幕的显示内容;
(4)B键:浏览minicom的历史显示;
(5)X键:退出minicom,会提示确认退出。

配置选项目录

Ctrl + A —> O

  1. +-----[configuration]------+
  2. | Filenames and paths |
  3. | File transfer protocols -|
  4. | Serial port setup |
  5. | Modem and dialing |
  6. | Screen and keyboard |
  7. | Save setup as dfl |
  8. | Save setup as.. |
  9. | Exit |
  10. +--------------------------+

选择”Filenames and paths”

  1. +-----------------------------------------------------------------------+
  2. | A - Download directory : /home/wonux |
  3. | B - Upload directory : /tmp |
  4. | C - Script directory : /root/minicom |
  5. | D - Script program : runscript or /bin/bash |
  6. | E - Kermit program : |
  7. | F - Logging options |
  8. | |
  9. | Change which setting? |
  10. +-----------------------------------------------------------------------+
  • C - Script文件的存放位置: g运行脚本时的路径 。
  • D - 选择脚本程序: 默认runscript,也可以选择bash脚本格式。

    minicom使用

    命令行启动minicom的参数

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

  1. -s
  2. 设置。 root 使用此选项在/etc/minirc.dfl中编辑系统范围的缺省值。使用此参数后,minicom 将不进行初始化,而是直接进入配置菜单。如果因为你的系统被改变,或者第一次运行minicom时,minicom不能启动,这个参数就会很有用。对于多数系统,已经内定了比较合适的缺省值。
  3. -o
  4. 不进行初始化。minicom 将跳过初始化代码。如果你未复位(reset)就退出了minicom,又想重启一次会话(session),那么用这个选项就比较爽(不会再有错误提示:modem is locked ---- 注)。但是也有潜在的危险:由于未对lock文件等进行检查,因此一般用户可能会与uucp之类的东东发生冲突......也许以后这个参数会被去掉。现在姑且假定,使用modem的用户对自己的行为足够负责。
  5. -m
  6. MetaAlt键重载命令键。在1.80版中这是缺省值,也可以在minicom 菜单中配置这个选项。不过若你一直使用不同的终端,其中有些没有MetaAlt键,那么方便的做法还是把缺省的命令键设置为Ctrl-A,当你有了支持 MetaAlt键的键盘时再使用此选项。Minicom假定你的Meta键发送ESC前缀,而不是设置字符最高位的那一种(见下)。
  7. -M
  8. 跟“-m”一样,但是假定你的Meta键设置字符高端的第八位(发送128+字符代码)。
  9. -z
  10. 使用终端状态行。仅当终端支持,并且在其termcapterminfo数据库入口中有相关信息时才可用。
  11. -l
  12. 逐字翻译 高位被置位的字符。使用此标志, minicom将不再尝试将IBM行字符翻译为ASCII码,而是将其直接传送。许多PC-Unix克隆不经翻译也能正确显示它们(Linux使用专门的模式:CoherentSco)。
  13. -w
  14. 在启动的时候就自动换行,这样启动之后不用运行<C-a> w进行设置了,详细参考后面。
  15. -a
  16. 特性使用。 有些终端,特别是televideo终端, 有个很讨厌的特性处理(串行而非并行)。minicom缺省使用‘-a on’,但若你在用这样的终端,你就可以(必须!)加上选项‘-a off’。尾字‘on’或‘off’需要加上。
  17. -t
  18. 终端类型。使用此标志, 你可以重载环境变量TERM 这在环境变量MINICOM 中使用很方便; 你可以创建一个专门的 termcap 入口以备minicom 在控制台上使用,它将屏幕初始化为raw模式, 这样,连同‘-l’标志一起,就可以不经翻译而显示IBM行字符。
  19. -c
  20. 颜色使用。些终端(如Linux控制台)支持标准ANSI转义序列色彩。由于termcap显然没有对于色彩的支持,因而minicom 硬性内置了这些转义序列的代码。所以此选项缺省为off。使用‘-c on’可以打开此项。把这个标志,还有‘-m’放入MINICOM环境变量中是个不错的选择。
  21. -S
  22. 脚本。 启动时执行给定名字的脚本。到目前为止,还不支持将用户名和口令传送给启动脚本。如果你还使用了‘-d’选项,以在启动时开始拨号,此脚本将在拨号之前运行,拨号项目入口由‘-d’指明。
  23. -p
  24. 要使用的伪终端。 它超载配置文件中定义的终端端口,但仅当其为伪tty设备。提供的文件名必须采用这样的形式:(/dev/)tty[p-z][0-f]
  25. -C
  26. 文件名。 启动时打开捕获输出到文件。
  27. -8
  28. 不经修改地传送8位字符。“连续”意指未对地点/特性进行真正改变,就不插入地点/特性控制序列。此模式用于显示8位多字节字符,比如日本字(TMD!应该是中国字!!)。不是8位字符的语言都需要(例如显示芬兰文字就不需要这个)。

命令行参数使用举例

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

    • 这里,是你的脚本文件的名字,应该指定绝对路径,否则就会在你启动minicom的路径下寻找。

      minicom的交互使用

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

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

    常用配置总结:

    minicom -s 或启动minicom之后运行 o来进行配置。
    选择Serial port setup 配置其中的如下配置项:
  1. A - Serial Device : /dev/ttyUSB0
  2. E - Bps/Par/Bits : 115200 8N1
  3. F - Hardware Flow Control : No
  4. G - Software Flow Control : No
  • 选择Filenames and paths 配置其中的如下配置项:
  1. C - Script directory : /root/minicom
  2. D - Script program : /bin/bash

C:脚本文件的存放位置: g运行脚本时的路径 。 D:选择脚本程序: 默认runscript,也可以选择bash脚本格式。

关于minicom的脚本:

可以参考man手册man runscript.交互命令中可以运行” G”来运行脚本。

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

  • 通过手册可以得知

  • 如果想要在脚本中关闭正在运行的minicom,需要在脚本的最后一行添加 ! kill -9 minicom
  • 但是这样关闭后的终端是在minicom运行界面中,原终端数据被清楚,而且文件不对齐
  • 可以在最外层的脚本中新建终端专门运行minicom,关闭minicom后会自动关闭新建的终端,而不影响原终端

    1. gnome-terminal -x bash -c "minicom -S uart.sh"

    参考资料:

  • http://blog.csdn.net/sikinzen/archive/2010/04/05/5451758.aspx

  • minicom手册
  • 其他网上收集的资料