TeraTerm支持的脚本,是一个后缀为ttl的文本文件,可以直接使用记事本打开编辑。TeraTerm安装文件夹内有一个名为ttpmacro.exe的可执行文件,是TeraTerm的脚本解释器,双击执行后可以直接弹出对话框,获取ttl文件即可执行。也可以打开TeraTerm,从主菜单内选择Control –>Macro执行。
以下分5个章节来详细讲述TeraTerm宏的使用,最后1个章节会讲述一些和批处理和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脚本如何运作。下一章开始详细介绍常用的命令。