Ubuntu下也有这样的串口通信工具,比如Minicom,kermit。minicom比较通用,kermit比较好用。
1.minicom。
安装suodo apt-get install minicom
当然也可以去网上下载。也许版本会更新点。我用的是minicom_2.3-1。其实这种东西我们的需求就很简单,版本的高低没什么用。
2.kermit
安装:sudo apt-get install kermit
配置:
sudo vim /etc/kermit/kermitrc
加入:
set line /dev/ttyS0 //(Windows下的com1)
set speed 115200 //(每秒位数)
set carrier-watch off
set handshake none
set flow-control none //(Windows的数据流控制)
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
启动:
终端直接输入:kermit
C-Kermit>connect
按下Ctrl+/然后再按c,可以回到kermit,然后再输入connect,又可连接串口ttyS0(对应于Windows下的COM1)。
我们可以从终端上看出来,我们下载的其实是ckermit,还有一个是gkermit。这个估计差不多。我没有尝试过。
附注:一个红帽下安装的minicom,ubuntu下使用也是一样的。
==== 1.rpm包方式 ====
GTES 10,10.5,11版本都包含minicom包,你可以直接安装他们:
# rpm -ivh minicom-xxx.rpm
==== 2.源码包方式 ====
源码包下载地址:
http://alioth.debian.org/projects/minicom/
安装源码包:
# tar zxf minicom-2.2.tar.gz
# cd minicom-2.2
# ./configure
# make
# make install
Ubuntu 安装时比较简单:sudo apt-get install minicom
Minicom的使用
1. 启动minicom
以root权限登录系统
使用命令
root –s 则minicom启动,屏幕出现如下的界面|:
……………[configuration]……………………………………
…… Filename and paths ………………………
…… File transfer and protocols ………………
…… Serial port setup …………………
…… Modem and dialing …………………………
…… Screen and keyboard …………
…… Save setup as df1 …………………
…… Save setup as…… …………………………
…… Exit …………………………
…… Exit from minicom …………………………
………………………………
2. 设置serial port setup
使用down箭头选择serial port setup,出现具体各选项的配置:
A — Serial Device : /dev/ttyS0
B — lockfile Location : /var/lock
C — Calling Program :
D — Callout Program:
E — Bps/par/Bits : 9600 8N1
F — Hardware Flow Control : YES
G — Software Flow Control : NO
Change with setting?
将选项A的值设置为/dev/ttyS0 表示是串口1。
将选项E的值设置为9600。
设置过程中命令的使用,例如需要修改选项A的值,在Change with setting?选项后输入A则光标转移到A选项后,可以对A选项的值进行修改。
3.设置Modem and dialing
使用方向箭头选中modem and dialing 项,则修改modem and dialing 选项中的配置项。
需要修改的是去掉
A — initing string ……:
B — Reset string ……:
K — Hang-up string ……三个配置项。
4.选择Save as df1
选择Save as df1选项将修改后的配置信息进行保存为默认的配置选项。
5.Exit from minicom
选择Exit from minicom 选项从配置菜单返回到命令行。
6.重新启动Minicom
使用minicom 启动minicom 在Linux下通过串口连接路由器,实现超级终端的功能。
配置:sudo minicom -s
启动
出现配置菜单:选serial port setup
进入串口配置
输入A配置串口驱动为/dev/ttyS0
输入E配置速率为9600 8N1
输入F将 Hardware Flow Control 设 为 NO
回车 退出
由于我们使用minicom作为超级终端控制路由器等设备, 而不是控制modem, 所以需要修改Modem and dialing, 将Init string, Reset string, Hang-up string设置为空. 设置完成后选择Save setup as dfl将当前设置保存为默认设置.
在配置菜单 选Save setup as df1保存(一定要记得这一步)
选Exit退出
下次在输入minicon 即可直接进入。
命令minicom是进入串口超级终端画面,而minicom -s为配置minicom。
说明/dev/ttyS0 对应为串口0 为你连接开发板的端口。
注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复
------------------------
使用
Minicom是基于窗口的。要弹出所需功能的窗口,可按下Ctrl-A (以下
使用C-A来表示Ctrl-A),然后再按各功能键(a-z或A-Z)。先按C-A,再
按'z',将出现一个帮助窗口,提供了所有命令的简述。配置minicom
(-s 选项,或者C-A、O)时,可以改变这个转义键,不过现在我们还
是用Ctrl-A吧。
以下键在所有菜单中都可用:
UP arrow-up 或 'k'
DOWN arrow-down 或 'j'
LEFT arrow-left 或 'h'
RIGHT arrow-right 或 'l'
CHOOSE Enter
CANCEL ESCape.
屏幕分为两部分:上部24行为终端模拟器的屏幕。 ANSI或VT100转义
序列在此窗口中被解释。若底部还剩有一行,那么状态行就放在这儿;
否则,每次按C-A时状态行出现。 在那些有专门状态行的终端上将会
使用这一行,如果termcap信息完整且加了-k标志的话。
下面按字母顺序列出可用的命令:
C-A 两次按下C-A将发送一个C-A命令到远程系统。如果你把"转义字符"
换成了C-A以外的什么字符,则对该字符的工作方式也类似。
A 切换"Add Linefeed"为on/off。若为on,则每上回车键在屏幕上
显示之前,都要加上一个linefeed。
B 为你提供一个回卷(scroll back)的缓冲区。可以按u上卷,按d下卷,
按b上翻一页,按f下翻一页。也可用箭头键和翻页键。可用s或S键
(大小写敏感)在缓冲区中查找文字串,按N键查找该串的下一次出现。
按c进入引用模式,出现文字光标,你就可以按Enter键指定起始行。
然后回卷模式将会结束,带有前缀'>'的内容将被发送。
C 清屏。
D 拨一个号,或转向拨号目录。
E 切换本地回显为on/off (若你的minicom版本支持)。
F 将break信号送modem。
G 运行脚本(Go)。运行一个登录脚本。
H 挂断。
I 切换光标键在普通和应用模式间发送的转义序列的类型(另参下面
关于状态行的注释)。
J 跳至shell。返回时,整个屏幕将被刷新(redrawn)。
K 清屏,运行kermit,返回时刷新屏幕。
L 文件捕获开关。打开时,所有到屏幕的输出也将被捕获到文件中。
M 发送modem初始化串。若你online,且DCD线设为on,则modem被初始化
前将要求你进行确认。
O 配置minicom。转到配置菜单。
P 通信参数。允许你改变bps速率,奇偶校验和位数。
Q 不复位modem就退出minicom。如果改变了macros,而且未存盘,
会提供你一个save的机会。
R 接收文件。从各种协议(外部)中进行选择。若filename选择窗口和下
载目录提示可用,会出现一个要求选择下载目录的窗口。否则将使用
Filenames and Paths菜单中定义的下载目录。
S 发送文件。选择你在接收命令中使用的协议。如果你未使文件名选择
窗口可用(在File Transfer Protocols菜单中设置),你将只能在一
个对话框窗口中写文件名。若将其设为可用,将弹出一个窗口,显示
你的上传目录中的文件名。可用空格键为文件名加上或取消标记,用
光标键或j/k键上下移动光标。被选的文件名将高亮显示。 目录名在
方括号中显示,两次按下空格键可以在目录树中上下移动。最后,按
Enter发送文件,或按ESC键退出。
T 选择终端模拟:ANSI(彩色)或VT100。此处还可改变退格键,打开或
关闭状态行。
W 切换linewrap为on/off。
X 退出minicom,复位modem。如果改变了macros,而且未存盘,会提供
你一个save的机会。
Z 弹出help屏幕。
相关设置: ctrl+A 界面给出相关提示,按Z显示设置,用于提高对minicom 的控制度。
Q:返回到linux 终端的命令行
如果linux minicom不能响应按键控制,将minicom的硬件流控制改为off
串口调试器 端口号 COM1 波特率 9600 数据位 8 停止位 1 校验位 None
串口状态为打开 线路状态默认 可选按16进制发送和接收
Minicom
#minicom –s 进入configuration
┌─────[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 : 9600 8N1 │
│ F - Hardware Flow Control : No │
│ G - Software Flow Control : No │
│ │
│ Change which setting?
退回到上级菜单,选择 Save setup as df1项保存,然后选择Exit from Minicom
三.、调试过程
#minicom
Ctrl –A 然后Shift –Z (意为用大写字母) 进入 Minicom Command Summary
│ Minicom Command Summary │
│ Commands can be called by CTRL-A <key> |
│ Main Functions Other Functions │
│ │
│ Dialing directory….D run script (Go)......G | Clear Screen.......C │
│ Send files.................S Receive files..........R | Configure Minicom..O │
│ comm Parameters....P Add linefeed..........A | Suspend minicom....J │
│ Capture on/off.........L Hangup..................H | Exit and reset.....X │
│ send break...............F initialize Modem....M | Quit with no reset.Q │
│ Terminal settings…T run Kermit.............K | Cursor key mode....I │
│ lineWrap on/off......W local Echo on/off…E | Help screen........Z │
│ | scroll Back........B │
│ │
│ Select function or press Enter for none. │
Shift –E 打开 local Echo
使用键盘输入测试字符,例如aaa.在串口调试器下方的接收框中则显示aaa或者616161(按16进制).若有回车,则显示0D.
做为交互,在串口调试器上方的发送框中输入aaa或者616161(按16进制),则minicom中显示全为aaa.
四、.RS232C串口介绍
目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连。
1.DB9和DB25的常用信号脚说明
9针串口(DB9) 25针串口(DB25)
针号 功能说明 缩写 针号 功能说明 缩写
1 数据载波检测 DCD 8 数据载波检测 DCD
2 接收数据 RXD 3 接收数据 RXD
3 发送数据 TXD 2 发送数据 TXD
4 数据终端准备 DTR 20 数据终端准备 DTR
5 信号地 GND 7 信号地 GND
6 数据设备准备好 DSR 6 数据准备好 DSR
7 请求发送 RTS 4 请求发送 RTS
8 清除发送 CTS 5 清除发送 CTS
9 振铃指示 DELL 22 振铃指示 DELL
2.RS232C串口通信接线方法(三线制)
首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连
• 同一个串口的接收脚和发送脚直接用线相连 对9针串口和25针串口,均是2与3直接相连;
• 两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)
9针-9针 25针-25针 9针-25针
2 3 3 2 2 2
3 2 2 3 3 3
5 5 7 7 5 7
上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接,就能百战百胜。
3.串口调试中要注意的几点:
• 不同编码机制不能混接,如RS232C不能直接与RS422接口相连,市面上专门的各种转换器卖,必须通过转换器才能连接;
• 线路焊接要牢固,不然程序没问题,却因为接线问题误事;
• 串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;
• 强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。