因?yàn)楝F(xiàn)在電腦基本不配備串行接口舷暮,所以励两,usb轉(zhuǎn)串口成為硬件調(diào)試時(shí)的必然選擇。目前知道的地消,CH340,PL2303的驅(qū)動(dòng)是有的炉峰,在dev下的名稱是ttyUSB*。
Minicom脉执,是Linux下應(yīng)用比較廣泛的串口軟件疼阔,這里簡(jiǎn)單介紹minicom使用。
minicom配置:
安裝完成后半夷,請(qǐng)不要著急打開軟件婆廊。需先進(jìn)行配置。具體步驟如下:
查看串口設(shè)備及文件權(quán)限
linux下的所有操作面向用戶的都是文件操作巫橄,在對(duì)串口操作之前淘邻,我們應(yīng)該先確認(rèn)自己對(duì)該文件有沒有讀寫權(quán)限。
ls -l /dev/ttyUSB*
linux下的usb串口命名為ttyUSB*湘换,運(yùn)行上面命令宾舅,可以看到有幾個(gè)設(shè)備掛載。
我們這里是:
crw-rw---- 1 root dialout 188, 0 Apr 10 17:10 /dev/ttyUSB0
只有ttuUSB0.再用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 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 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 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轉(zhuǎn)串口線纜彩倚,使用的芯片是PL2303筹我。
但是正如上面顯示,ttyUSB0這個(gè)設(shè)備是root所有的帆离,所以崎溃,我們以普通用戶身份打開minicom是沒法訪問該文件的。
配置minicom的參數(shù)
運(yùn)行sudo minicom -s便進(jìn)入了minicom的配置界面盯质,使用上下鍵選擇Serial port setup,回車概而。此時(shí)光標(biāo)在“change which setting”后面停留呼巷,它的上面有如下菜單:
Serial port setup [Enter]
+-------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| 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? |
+-------------------------------------------------------------+
我們只需輸入上面對(duì)應(yīng)的字母,就可以進(jìn)如相應(yīng)的菜單進(jìn)行設(shè)置赎瑰。設(shè)置完成王悍,回車,光標(biāo)會(huì)回到“change which setting”后面餐曼,如此重復(fù)压储。完成按回車返回主菜單即可。
返回主菜單后源譬,選擇“Save setup as df1”集惋,將其保存為默認(rèn)設(shè)置,然后選擇 Exit退出踩娘。需退出后重新打開minicom刮刑,軟件才會(huì)使用上述參數(shù)進(jìn)行初始化。
注意:如果沒有使用USB轉(zhuǎn)串口,而是直接使用串口雷绢,那么Serial Device要配置為/dev/ttyS0泛烙。
如果上面設(shè)置順利,打開minicom
sudo minicom
重新給設(shè)備上電后翘紊,此時(shí)蔽氨,窗口里就有信息打印出來了。
minicom基本操作如下:
1)需使用Ctrl+a 進(jìn)入設(shè)置狀態(tài)
2)按z進(jìn)入設(shè)置菜單
(1)O鍵:打開配置選項(xiàng)帆疟;
(2)W鍵:自動(dòng)卷屏鹉究。當(dāng)顯示的內(nèi)容超過一行之後,自動(dòng)將後面的內(nèi)容換行鸯匹。這個(gè)功能在查看內(nèi)核的啓動(dòng)信息時(shí)很有用坊饶。
(3)C鍵:清除屏幕的顯示內(nèi)容;
(4)B鍵:瀏覽minicom的歷史顯示殴蓬;
(5)X鍵:退出minicom匿级,會(huì)提示確認(rèn)退出。
配置選項(xiàng)目錄
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"
+-----------------------------------------------------------------------+
| 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
運(yùn)行腳本時(shí)的路徑 染厅。 - D - 選擇腳本程序:
默認(rèn)runscript
,也可以選擇bash
腳本格式痘绎。
minicom使用
命令行啟動(dòng)minicom的參數(shù)
更多的參數(shù),參見"man minicom"的輸出肖粮。
-s
設(shè)置孤页。 root 使用此選項(xiàng)在/etc/minirc.dfl中編輯系統(tǒng)范圍的缺省值。使用此參數(shù)后涩馆,minicom 將不進(jìn)行初始化行施,而是直接進(jìn)入配置菜單。如果因?yàn)槟愕南到y(tǒng)被改變魂那,或者第一次運(yùn)行minicom時(shí)蛾号,minicom不能啟動(dòng),這個(gè)參數(shù)就會(huì)很有用涯雅。對(duì)于多數(shù)系統(tǒng)鲜结,已經(jīng)內(nèi)定了比較合適的缺省值。
-o
不進(jìn)行初始化活逆。minicom 將跳過初始化代碼精刷。如果你未復(fù)位(reset)就退出了minicom,又想重啟一次會(huì)話(session)蔗候,那么用這個(gè)選項(xiàng)就比較爽(不會(huì)再有錯(cuò)誤提示:modem is locked ---- 注)怒允。但是也有潛在的危險(xiǎn):由于未對(duì)lock文件等進(jìn)行檢查,因此一般用戶可能會(huì)與uucp之類的東東發(fā)生沖突......也許以后這個(gè)參數(shù)會(huì)被去掉⌒庖#現(xiàn)在姑且假定误算,使用modem的用戶對(duì)自己的行為足夠負(fù)責(zé)仰美。
-m
用Meta或Alt鍵重載命令鍵。在1.80版中這是缺省值儿礼,也可以在minicom 菜單中配置這個(gè)選項(xiàng)咖杂。不過若你一直使用不同的終端,其中有些沒有Meta或Alt鍵蚊夫,那么方便的做法還是把缺省的命令鍵設(shè)置為Ctrl-A诉字,當(dāng)你有了支持 Meta或Alt鍵的鍵盤時(shí)再使用此選項(xiàng)。Minicom假定你的Meta鍵發(fā)送ESC前綴知纷,而不是設(shè)置字符最高位的那一種(見下)壤圃。
-M
跟“-m”一樣,但是假定你的Meta鍵設(shè)置字符高端的第八位(發(fā)送128+字符代碼)琅轧。
-z
使用終端狀態(tài)行伍绳。僅當(dāng)終端支持,并且在其termcap或terminfo數(shù)據(jù)庫(kù)入口中有相關(guān)信息時(shí)才可用乍桂。
-l
逐字翻譯 高位被置位的字符冲杀。使用此標(biāo)志, minicom將不再嘗試將IBM行字符翻譯為ASCII碼睹酌,而是將其直接傳送权谁。許多PC-Unix克隆不經(jīng)翻譯也能正確顯示它們(Linux使用專門的模式:Coherent和Sco)。
-w
在啟動(dòng)的時(shí)候就自動(dòng)換行憋沿,這樣啟動(dòng)之后不用運(yùn)行<C-a> w進(jìn)行設(shè)置了旺芽,詳細(xì)參考后面。
-a
特性使用辐啄。 有些終端采章,特別是televideo終端, 有個(gè)很討厭的特性處理(串行而非并行)壶辜。minicom缺省使用‘-a on’悯舟,但若你在用這樣的終端,你就可以(必須!)加上選項(xiàng)‘-a off’士复。尾字‘on’或‘off’需要加上。
-t
終端類型翩活。使用此標(biāo)志阱洪, 你可以重載環(huán)境變量TERM, 這在環(huán)境變量MINICOM 中使用很方便菠镇; 你可以創(chuàng)建一個(gè)專門的 termcap 入口以備minicom 在控制臺(tái)上使用冗荸,它將屏幕初始化為raw模式, 這樣利耍,連同‘-l’標(biāo)志一起蚌本,就可以不經(jīng)翻譯而顯示IBM行字符盔粹。
-c
顏色使用。些終端(如Linux控制臺(tái))支持標(biāo)準(zhǔn)ANSI轉(zhuǎn)義序列色彩程癌。由于termcap顯然沒有對(duì)于色彩的支持舷嗡,因而minicom 硬性內(nèi)置了這些轉(zhuǎn)義序列的代碼。所以此選項(xiàng)缺省為off嵌莉。使用‘-c on’可以打開此項(xiàng)进萄。把這個(gè)標(biāo)志,還有‘-m’放入MINICOM環(huán)境變量中是個(gè)不錯(cuò)的選擇锐峭。
-S
腳本中鼠。 啟動(dòng)時(shí)執(zhí)行給定名字的腳本。到目前為止沿癞,還不支持將用戶名和口令傳送給啟動(dòng)腳本援雇。如果你還使用了‘-d’選項(xiàng),以在啟動(dòng)時(shí)開始撥號(hào)椎扬,此腳本將在撥號(hào)之前運(yùn)行惫搏,撥號(hào)項(xiàng)目入口由‘-d’指明。
-p
要使用的偽終端盗舰。 它超載配置文件中定義的終端端口晶府,但僅當(dāng)其為偽tty設(shè)備。提供的文件名必須采用這樣的形式:(/dev/)tty[p-z][0-f]
-C
文件名钻趋。 啟動(dòng)時(shí)打開捕獲輸出到文件川陆。
-8
不經(jīng)修改地傳送8位字符÷唬“連續(xù)”意指未對(duì)地點(diǎn)/特性進(jìn)行真正改變较沪,就不插入地點(diǎn)/特性控制序列。此模式用于顯示8位多字節(jié)字符失仁,比如日本字(TMD尸曼!應(yīng)該是中國(guó)字!!)。不是8位字符的語言都需要(例如顯示芬蘭文字就不需要這個(gè))萄焦。
命令行參數(shù)使用舉例
-
-w
: 啟動(dòng)minicom的時(shí)候控轿,開啟自動(dòng)換行:
如果不加這個(gè)項(xiàng),那么在minicom和pc交互的時(shí)候中鍵入命令超過一行時(shí)候會(huì)被截?cái)喾鞣猓ㄟ@時(shí)候可以通過<C-a> w
來開和關(guān)切換截?cái)嘈泄δ埽?
-
-c on
: 啟動(dòng)minicom的時(shí)候茬射,顯示顏色:
這樣,啟動(dòng)之后我們會(huì)發(fā)現(xiàn)顯示的內(nèi)容不是黑白的了冒签。
-
-C <filename>
: 啟動(dòng)minicom的時(shí)候在抛,自動(dòng)創(chuàng)建日志捕捉文件<filename>:
這樣,啟動(dòng)之后萧恕,所在minicom的輸出都會(huì)在<filename>中保留一份,如果原來文件存在刚梭,則追加肠阱,不存在則創(chuàng)建一個(gè)。
-
-m
: 啟動(dòng)minicom的時(shí)候朴读,將命令鍵修改成Meta鍵(<C-a>變成[Alt]或者[ESC]等):
這樣屹徘,我們可以取代用<C-a> *
發(fā)送命令的方式,將<C-a>
替換成[Alt]
或者[ESC]
.
-
-S <filename>
: 啟動(dòng)minicom的時(shí)候磨德,指定運(yùn)行的腳本:
這里缘回,<filename>是你的腳本文件的名字,應(yīng)該指定絕對(duì)路徑典挑,否則就會(huì)在你啟動(dòng)minicom的路徑下尋找酥宴。
minicom的交互使用
Minicom是基于窗口的。要彈出所需功能的窗口您觉,可按下Ctrl-A
(以下使用C-A來表示Ctrl-A),然后再按各功能鍵(a-z或A-Z)拙寡。先按C-A,再按'z'琳水,將出現(xiàn)一個(gè)幫助窗口肆糕,提供了所有命令的簡(jiǎn)述。配置 minicom(-s 選項(xiàng)在孝,或者C-A诚啃、O)時(shí),可以改變這個(gè)轉(zhuǎn)義鍵私沮,不過現(xiàn)在我們還是用Ctrl-A吧始赎。
這里,只給出很少的命令仔燕,更多的交互命令參見"<C-a> z"的幫助輸出造垛。
- ==查看幫助==:
<C-a> z
.
這樣會(huì)顯示所命令列表,便于查找晰搀。 - ==配置選項(xiàng)==:
<C-a> o.
- 回到shell:
<C-a> j
.
這樣minicom會(huì)在后臺(tái)stop,直到fg將它調(diào)到前臺(tái)五辽。 - ==開/關(guān)捕捉minicom輸出到文件==:
<C-a> l
.
這樣會(huì)打開/關(guān)閉捕捉輸出功能,捕捉的輸出會(huì)存放在一個(gè)你選擇的文件中外恕。 - ==運(yùn)行腳本==:
<C-a> g
: - 退出minicom:
<C-a> x
.
這樣會(huì)退出minicom.
常用配置總結(jié):
minicom -s
或啟動(dòng)minicom之后運(yùn)行<C-a> o
來進(jìn)行配置杆逗。
- 選擇
Serial port setup
配置其中的如下配置項(xiàng):
A - Serial Device : /dev/ttyUSB0
E - Bps/Par/Bits : 115200 8N1
F - Hardware Flow Control : No
G - Software Flow Control : No
- 選擇
Filenames and paths
配置其中的如下配置項(xiàng):
C - Script directory : /root/minicom
D - Script program : /bin/bash
C:腳本文件的存放位置: <C-a> g
運(yùn)行腳本時(shí)的路徑 。
D:選擇腳本程序: 默認(rèn)runscript
,也可以選擇bash
腳本格式鳞疲。
關(guān)于minicom的腳本:
可以參考man手冊(cè)man runscript
.交互命令中可以運(yùn)行"<C-a> G
"來運(yùn)行腳本罪郊。
- 注釋是'#'開始的。
- send命令中的字符串建丧,有\(zhòng)c就不會(huì)發(fā)送默認(rèn)的\r了排龄。例:send "ls \c"就不會(huì)自動(dòng)回車波势,這里'\c'也可以在前面翎朱。
目前發(fā)現(xiàn)橄维,腳本功能比較弱。在minicom原代碼中有簡(jiǎn)單的例子:scriptdemo和unixlogin,可以直接在linux運(yùn)行runscript. - 可以指定minicom的腳本運(yùn)行程序:
作為腳本解釋器的程序拴曲。缺省是“runscript”争舞,也可用其它的東東(如: /bin/sh 或 "expect",這樣就可以用shell或者其他的腳本了_)澈灼。Stdin和Stdout連接到modem竞川,Stderr連接到屏幕。
參考資料:
- http://blog.csdn.net/sikinzen/archive/2010/04/05/5451758.aspx
- minicom手冊(cè)
- 其他網(wǎng)上收集的資料