串口調試利器--Minicom配置及使用詳解.md

由於如今電腦基本不配備串行接口,因此,usb轉串口成爲硬件調試時的必然選擇。目前知道的,PL2303的驅動是有的,在dev下的名稱是ttyUSB*
Minicom,是Linux下應用比較普遍的串口軟件,這裏簡單介紹minicom使用。linux

minicom配置:

安裝完成後,請不要着急打開軟件。需先進行配置。具體步驟以下:git

查看串口設備及文件權限

linux下的全部操做面向用戶的都是文件操做,在對串口操做以前,咱們應該先確認本身對該文件有沒有讀寫權限。shell

ls -l /dev/ttyUSB*

linux下的usb串口命名爲ttyUSB*,運行上面命令,能夠看到有幾個設備掛載。
咱們這裏是:數據庫

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

只有ttuUSB0.再用lsusb查看:bash

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轉串口線纜,使用的芯片是PL2303。session

可是正如上面顯示,ttyUSB0這個設備是root全部的,因此,咱們以普通用戶身份打開minicom是無法訪問該文件的。ide

配置minicom的參數

運行sudo minicom -s便進入了minicom的配置界面,使用上下鍵選擇Serial port setup,回車。此時光標在「change which setting」後面停留,它的上面有以下菜單:.net

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? |

+-------------------------------------------------------------+

咱們只需輸入上面對應的字母,就能夠進如相應的菜單進行設置。設置完成,回車,光標會回到「change which setting」後面,如此重複。完成按回車返回主菜單便可。
返回主菜單後,選擇「Save setup as df1」,將其保存爲默認設置,而後選擇 Exit退出。需退出後從新打開minicom,軟件纔會使用上述參數進行初始化。命令行

注意:若是沒有使用USB轉串口,而是直接使用串口,那麼Serial Device要配置爲/dev/ttyS0。翻譯

若是上面設置順利,打開minicom

# minicom

從新給設備上電後,此時,窗口裏就有信息打印出來了。

minicom基本操做以下:

1)需使用Ctrl+a 進入設置狀態

2)按z進入設置菜單

(1)O鍵:打開配置選項;

(2)W鍵:自動卷屏。當顯示的內容超過一行之後,自動將後面的內容換行。這個功能在查看內核的啓動信息時頗有用。

(3)C鍵:清除屏幕的顯示內容;

(4)B鍵:瀏覽minicom的歷史顯示;

(5)X鍵:退出minicom,會提示確認退出。

配置選項目錄

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運行腳本時的路徑 。
  • D - 選擇腳本程序:
    默認runscript,也能夠選擇bash腳本格式。

minicom使用

命令行啓動minicom的參數

更多的參數,參見"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 
在啓動的時候就自動換行,這樣啓動以後不用運行<C-a> 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位字符的語言都須要(例如顯示芬蘭文字就不須要這個)。

命令行參數使用舉例

  • -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的路徑下尋找。

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.

經常使用配置總結:

minicom -s 或啓動minicom以後運行<C-a> o來進行配置。

  • 選擇Serial port setup
    配置其中的以下配置項:
A - Serial Device : /dev/ttyUSB0 
E - Bps/Par/Bits : 9600 8N1 
F - Hardware Flow Control : No 
G - Software Flow Control : No
  • 選擇Filenames and paths
    配置其中的以下配置項:
C - Script directory : /root/minicom
D - Script program : /bin/bash

C:腳本文件的存放位置: <C-a> g運行腳本時的路徑 。
D:選擇腳本程序: 默認runscript,也能夠選擇bash腳本格式。

關於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鏈接到屏幕。

參考資料

相關文章
相關標籤/搜索