打造嵌入式软件开发团队(3) 使用minicom做串口连接

minicom的初始配置

起动minicom

在终端中敲minicom,然后回车……(画外音:老兄,这个地球人都知道吧)。

$ minicom

如果你非常unlucky,发行版的默认安装中居然没有包含这个简单易用的串口连接工具,那么,找apt-get帮忙吧。

$ apt-cache search minicom
$ sudo apt-get install minicom

这里需要注意的问题是,如果你的locale设置的是中文,那么minicom打开后,那些边边角角条条框框会不能对齐,这基本山是因为程序本身不能计算双字节字符在屏幕上的正确宽度造成的,如果你英文好一些,并且不愿忍受破坏视觉的痛苦,推荐使用下面的命令启动minicom。

$ LC_ALL=C minicom

为了以后方便一些,就直接把这个命令写入$HOME/bin/里面,并且将这个路径添加进入PATH变量最前面的位置用以替换默认的minicom启动程序。

$ echo "#!/bin/sh LC_ALL=C minicom" > $HOME/bin/minicom
$ chmod +x $HOME/bin/minicom

如果minicom是第一次启动,打开之后就会遇到提示,可能有两种情况

  1. minicom说普通用户不能打开设备文件/dev/modem之类,如果你确信你需要使用这个设备进行通信,那么请用root用户或者sudo命令将这个设备文件更改访问属性;
  2. minicom说找不到默认的配置文件

恩,我们要说的就是如何给他配置起来,接着看吧。

打开配置菜单

第一次启动minicom可以使用root身份打开,并且加入-s选项,这是为了方便配置。

$ LC_ALL=C 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                     |                                  
            +--------------------------+                                  

用上下键选择Serial port setup,选择进入。

    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyS0                                |
    | 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?                                              |
    +-----------------------------------------------------------------------+

将串口的各个配置值设置成你需要的样子。按每个选项前面的字母键进入配置选单。其中,Serial Device需要指定成你实际使用的串口设备的设备文件;Lockfile Location使用默认就可以了,这个文件使用来锁定设备的,以保证不会设备被另外一个程序同时使用;Callin/out Program略去,嵌入式软件开发的时候大多不需要这个,这选项大概是留给调制解调器用的,我也不晓得;Bps/Par/Bits用来配置你的串口的通讯速度,这里我的设备选择了115200 8N1的选项,跟据你的设备选择相应的值;Hardware/Software Flow Control是RS232协议的一部分,用以控制两个设备之间消息传递的流控制——这个玩意儿一两句讲不清楚,有兴趣的话看RS232 flow control and handshaking——这个例子里选择NO。
不同的RS232连接线或者开发版的特殊设计都会导致你需要的配置与例子所说的不同,所以,还是查看一下硬件的连接方式手册再进行配置比较好。

配置完成后,在配置菜单中选择Save setup as dfl,这样就可以将配置结果保存成默认设置。

测试

如果你的开发板中已经烧入了相应的固件支持串口通信的话(一般都会有),这个时候可以给开发版加电测试一下通信状况了。如果配置没有出错,那么就应该有相应的内容表示。
值得一提的是折行控制。如果不进行选择的话,minicom提供的终端是不会折行的,也就是说你输入终端的内容在表示的时候会被短截,为了让自己看得清楚一些,可以用CTRL+A W来进行切换。

退出

在minicom的画面中按CTRL+A,接着按X键。或者CTRL+A Q。两者的区别是X会重置modem,而Q不会重置,并且Q选项需要用户确认。

此后就无须多言了,串口连接只是提供一种连接方式,连接以后根据开发板给公给你的界面,该干嘛干嘛就好了。


参考URL:
http://www.interface.co.jp/cpu/sh240_howto/howto06.asp
http://tldp.org/HOWTO/Serial-HOWTO.html