ubuntn下串列埠工具minicom ,kermit的使用
串列埠是嵌入式開發使用最多的通訊方式,linux系統提供了一個串列埠工具minicom,可以完成複雜的串列埠通訊工作。
Ubuntu下也有這樣的串列埠通訊工具,比如Minicom,kermit。minicom比較通用,kermit比較好用。
1.minicom。
安裝suodo 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.
ubuntn下另一種串列埠工具kermit的使用
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
四、.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介面相連,市面上專門的各種轉換器賣,必須通過轉換器才能連線;
• 線路焊接要牢固,不然程式沒問題,卻因為接線問題誤事;
• 串列埠除錯時,準備一個好用的除錯工具,如串列埠除錯助手、串列埠精靈等,有事半功倍之效果;
• 強烈建議不要帶電插撥串列埠,插撥時至少有一端是斷電的,否則串列埠易損壞。