StackDoc

人人IT網-StackDoc

當前位置: 主頁 > 操作系統 > OS >

一款輕量級終端工具TeraTerm的腳本介紹(一)

時間:2012-06-13 17:03來源:Internet 作者:Internet 點擊:
  TeraTerm 是一款類似超級終端的軟件,但功能更为強大,最大的特色是支持腳本。非常豐富的腳本命令擴展使TeraTerm能做許多事情,可以大大簡化了工作量,非常适合頻繁使用串口或者Telnet等

  TeraTerm 是一款類似超級終端的軟件,但功能更为強大,最大的特色是支持腳本。非常豐富的腳本命令擴展使TeraTerm能做許多事情,可以大大簡化了工作量,非常适合頻繁使用串口或者Telnet等方式調試的環境。配合批處理或者VBA做一些簡單界面,往往能迅速開發出完整的功能。在某些情況下比使用程序代碼更为便捷,也使不太懂編程的人不必囿於他人進度。總的來說,TeraTerm可以完成終端交互,字符串的處理(從連接,替換到支持正則表達式),讀寫文本,簡單計算,調用外部程序,判斷選擇循環暫停等邏輯更是一應俱全。

  TeraTerm支持的腳本,是一個後綴为ttl的文本文件,可以直接使用記事本打開編輯。TeraTerm安裝文件夾內有一個名为ttpmacro.exe的可執行文件,是TeraTerm的腳本解釋器,雙擊執行後可以直接彈出對話框,獲取ttl文件即可執行。也可以打開TeraTerm,從主菜單內選擇Control –>Macro執行。

以下分5個章節來詳細講述TeraTerm宏的使用,最後1個章節會講述一些和批處理和VBA的配合。

  1. 第一個ttl宏
  2. 基礎命令
  3. 邏輯
  4. 字符串的操作
  5. 批處理和VBA的配合

  在熟悉了這些內容之後,還需要深入一點了解ttl,那麼可以参閱安裝文件夾下的teraterm.chm幫助文件,所有的內容都可以從那上面獲取。在以後的宏編寫過程中,這個幫助文件也可以作为非常有用的参考文檔。

 

第一個ttl宏

  打開記事本,輸入以下文字,保存後將文件後綴改成ttl,並將文件名改成firstTtl。

  connect "/c=1 /baud=38400"

  sendln ""

  wait "pSH+>"

  messagebox "Hello World! I caught the string!" "First ttl"

  closett

  如果安裝了TeraTerm,則圖標會變成默認的TeraTerm宏样式。雙擊這個文件執行,在我的電腦上會順利彈出一個如下圖所示的對話框,點擊“確定”後整個程序關閉。

   這個只有5行的腳本其實執行了很多事情:打開串口,配置串口,發送字符,等待出現想要的字符,彈出對話框,斷開串口關閉程序窗口等。這5行看起來也比較簡單,但是作为第一個腳本,還是逐行來進行以下分析。

  connect "/c=1 /baud=38400"

  開始的connect是關鍵字,是用來進行連接的。Connect後面是它接受的参數,用一對雙引號包起來,當然你也可以使用一對單引號。記住,在TeraTerm腳本裏面,單引號和雙引號是沒有區別的。/c=1的意思很簡單,表示COM1,如果要連接的是COM30,那寫成/c=30就行。空一格之後還有一個/baud=38400的参數,看得出來是指定波特率的。如果連接對象的波特率是9600,那麼就寫成/baud=9600。

  很多時候,連接對象的波特率是固定的,每次都要寫波特率顯得有些麻煩,那麼可以在TeraTerm的配置文件裏寫入默認波特率,這样每次寫腳本時只要寫上connect “/c=1”就可以,波特率會自動使用默認值。配置文件是安裝文件夾下的TERATERM.INI。可以打開查找到BaudRate=9600這一行,將後面的數值改成自己需要的保存即可。

  sendln ""

  這一句的意思非常容易明白,就是發送。精確一點,是模擬了發送之後回車換行的過程。發送的內容用雙引號或者單引號包起來。這句發送的內容为空,表示只進行了一個回車換行。同理,你一定能猜到,存在一個send的命令,作用是發送內容,但是後面不跟回車換行。沒錯,而且可以提前告訴你:send #13本質上等同於sendln ""。

  wait "pSH+>"

  這一句的意思也非常淺顯,等待。命令是wait,後面的参數是等待的字符串pSH+>。Wait後面可以帶很多参數,最多可以達到10個,中間用空格隔開。這10個参數之間的關系是或,比如wait “hello”“ciao”“bonjour”,只要發現打印字符裏出現任意一個滿足,則認为等待到了。關於等待的不同用法,有很多內容,下面會有專門章節講述。

  messagebox "Hello World! I caught the string!" "First ttl"

  這一句的意思是彈出一個對話框,顯示一串字符,並且設定了對話框的標題为"First ttl"。在使用時,兩個参數都不能省略。

  Closett

  這一句的意思是斷開當前窗口的連接,然後關閉程序。如果不加這一句,那麼宏執行完後,窗口和連接就會保持在最後執行的狀態下。

  這個腳本是一個典型的串口操作過程,連接,發送,等待,顯示,斷開。熟悉了這個腳本以後,應該有一個整體概念了,知道TeraTerm腳本如何運作。下一章開始詳細介紹常用的命令。

頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
驗證碼:點擊我更換圖片
欄目列表
推薦內容