term 缩写_term的缩写

term 缩写_term的缩写【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能1 前言1.1 声明本文根据个人学习经验及网络资料整理+撰写而成,禁止私自转载。TTL脚本视频学习:TTL脚本语法与实战——嵌入式开发中串口

【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能
  1 前言

  1.1 声明

  本文根据个人学习经验及网络资料整理+撰写而成,禁止私自转载。

  TTL脚本视频学习:TTL脚本语法与实战——嵌入式开发中串口自动化神技能

  1.2 参考链接

  TTL 脚本简易教程:

  https://imlane.zhanglintc.co/post/ttljiao-ben-jian-yi-jiao-cheng

  官方TTL命令参考:

  https://ttssh2.osdn.jp/manual/4/en/macro/command/index.html

  官方帮助中心:

  https://ttssh2.osdn.jp/manual/4/en/

  2 概述

  2.1 TTL背景

  所谓 TTL, 其实是 Tera Term Language 的缩写, 也就是 Tera Term 的专用脚本语言. 那么 Tera Term(Wiki)是个什么东西呢? 其实就是个终端(Terminal), 也就是说跟什么 XSehll, SecureCRT, Putty 之类的东西差不多一个意思.

  Tera Term 是日本人搞出来的东西. 其实仅仅就这个 Tera Term 来说我觉得一点并不好用, 完全比不上 Xshell. 不过关键就在于它有它自己的脚本语言 Tera Term Language 啊. 有了自己的脚本语言加持以后, 这个终端瞬间化身自动化利器, 可以提前设计好各种操作, 剩下的就让终端自动运行好了.

  Tera Term 这个东西本身我就不多介绍了, 只要到 Tera Term Open Source Project 下载安装即可. 写好的脚本双击以后是会自动调用这个工具的. 接下来的内容将会介绍 TTL 的语法和使用.

  TTL脚本是为tera term这个软件服务的。tera term加载TTL脚本后,会自动运行脚本,然后执行脚本里的命令。

  2.2 为什么要学习TTL脚本

  对于嵌入式开发人员来说,串口工具想必大家再熟悉不过。通常使用串口工具给开发板下发命令、接收log,亦或是连接远程终端,而这都需要我们手动控制。试想,下发一条命令可以手动,那下发1000条命令呢?

  在嵌入式开发中,有这么一款广泛使用的串口工具——Tera Term,其内置TTL脚本语言,该语言语法丰富但又简单易学。通过TTL脚本,即可实现串口工具自动化测试。当然,其功能远不止于此,但凡会用到串口工具的地方,都可以通过TTL脚本来满足自己自动化需求。例如自动连接远程终端、自动执行远程终端脚本、分析串口工具中显示的log、统计测试项是否成功等等。

  2小时学会一个串口自动化脚本语言,半天即可熟练掌握,让你更快速更高效地完成嵌入式项目开发。最少的时间掌握一个终生受益的技能,这会让你变得比大多数嵌入式工程师更厉害。

  3 数据类型

  TTL语言(TeraTerm Language)总共只有四种数据类型,分别为Integer、Character string、Integer Array、String Array。

  4 注释

  ; 分号后面是注释

  ; 分号开始的行是注释行

  var = 0 ; 这里分号右边开始也算注释

  5 字面量

  ; 支持正数负数, 不支持浮点数

  123

  -11

  ; $开始的数字是16进制

  $3a

  $10F

  ; 字符串’Hello, world’“I can’t do that”“汉字也支持”

  ; #开头的是ASCII码值字符, 也就是#后的数字查ASCII码表对应的是哪个字符就是哪个字符

  #65 ; 文字 “A”

  #$41 ; 文字 “A”

  #13 ; CR 文字

  ; 字符串可以直接拼接

  ‘cat readme.txt’#13#10 ; 相当于 “cat readme.txt

  ”

  ‘abc’#$0d#$0a’def’#$0d#$0a’ghi’

  6 变量

  变量包括用户自定义变量和系统变量两部分.

  下面将分别介绍一下.

  6.1 自定义变量

  定义变量无需指定类型, 直接使用 变量名 = 值 的语法即可.

  注意:赋值时候=右边的“10”或’10’表示字符串,10才表示数字,例如cycle = “10”和cycle = 10是不一样的,一个是字符串,一个是数字。

  ; 定义普通变量

  _var = ‘valid’ ; 下划线开始的变量名合法。

  _var = “valid” ; 使用双引号也可以

  var_1 = 1 ; 这是一个数字

  var_2 = ‘str’ ; 这是一个字符串

  ; 定义数组及赋值

  intdim a 3 ; int数组

  a[0] = 1

  a[1] = 2

  a[2] = 3

  strdim s 3 ; str数组

  s[0] = ‘1’

  s[1] = ‘2’

  s[2] = ‘3’

  6.2 系统变量

  TTL 预置使用了一些系统变量, 写脚本的时候注意不要占用. 阅读脚本的时候要注意这些是系统变量, 是作为系统函数返回值而存在的.

  常见:

  inputstr ; waitln等函数的接收到的值存放于此

  matchstr ; strmatch等函数的值存放于此

  param1 ; 调用脚本时候传入的第一个参数

  params ; 调用脚本时候传入的所有参数的数组

  result ; waitln等函数执行的结果code存放于此

  timeout ; 超时时间

  …

  具体请查看 Tera Term 的帮助文件:

  https://ttssh2.osdn.jp/manual/4/en/macro/syntax/variables.html

  如何查看变量值?

  TTl脚本中貌似没有printf之类的函数,可以直接输出某个变量的值到底是多少。那如果写代码过程中想要看看其中某个变量的值是多少该怎么办呢?

  其实可以转变思路,将想要打印的变量直接写入文件中就可以了。

  在这里插入图片描述

  7 流程控制

  TTL 也支持基本的流程控制操作.

  7.1 do, loop

  7.2 while, endwhile

  7.3 until, enduntil

  7.4 for, next

  7.5 if, then, elseif, else, endif

  7.6 break, continue

  break

  continue

  8 子过程

  TTL 可以定义一些子过程, 方便重复调用. 但是没有返回值, 不能称之为函数.

  定义子过程首先要了解 label 标签

  可以这样定义和调用子过程:

  1、子过程以return返回。

  2、标签后面没有return,说明不是子过程,只是标签。标签也建议用end结束。

  9 常见用法

  下面介绍一些 TTL 脚本中的常见写法.

  9.1 连接服务器

  使用 connect 命令, 而且有不少其他命令必须在连接服务器后才能使用:

  connect ‘hostname:22 /ssh /2 /auth=password /user=username /passwd=password’

  9.2 执行给定命令

  sendln ; 向远端服务器上发送 命令以及 CR, 即执行该命令

  9.3 等待特定字符

  wait ‘$’ ‘#’ ; 等待远端服务器屏幕上出现 $ 或者 #. 未出现则一直等待. 该等待超时时间由系统变量 timeout 控制, 若为 0 则无超时时间, 即无限期等待

  9.4 拼接字符串

  使用 sprintf2 直接定义变量. 其中 %s 是占位符, 被字符串后面跟的变量替换.

  hostname = ‘your_hostname’

  username = ‘your_username’

  password = ‘your_password’

  sprintf2 server ‘%s:22 /ssh /2 /auth=password /user=%s /passwd=%s’ hostname username password

  直接声明变量并在后面添加字符串.

  hostname = ‘your_hostname’

  msg = hostname

  strconcat msg ‘:22 /ssh /2 /auth=password /user=’

  strconcat msg username

  strconcat msg ’ /passwd=’

  strconcat msg password

  9.5 保存服务器操作日志

  getdir logdir ; 当前脚本所在路径

  changedir logdir ; 调整日志文件夹路径到当前路径

  logfile = “operation.log” ; 日志文件名

  logopen logfile 0 0 1 ; 打开日志文件用于写入

  logwrite “first line in log file”#13#10 ; 向日志文件中写入"first line in log file

  ", 其中 #13#10 的意思就是 CRLF

  10 include包含其他文件

  include ‘1.ttl’

  即将1.ttl里面的内容包含到本TTL脚本中。

  11 常用命令

  参考链接

  tera term的ttl脚本使用方法

  https://blog.csdn.net/f2157120/article/details/99822653?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

  官方TTL命令参考:

  https://ttssh2.osdn.jp/manual/4/en/macro/command/index.html

  常用命令直接参考官方命令介绍即可,非常清晰明了,此处就不一一列出。只列出部分易错/重要的命令:

  fileopen

  如果文件不存在,则创建该文件并打开。

  changedir

  注意和setdir的区别,两个命令都是改变路径,那么到底有什么区别呢?

  chagedir改变的是Tera Term的路径。setdir改变的是MACRO的路径。

  那这时候又有问题了,什么是Tera Term的路径,什么是MACRO路径?

  File names specified for the communication commands (e.g. kmtsend) are based on the current directory for Tera Term.

  File names specified for other commands (e.g. fileopen) are based on the current directory for MACRO.

  可能看到这里还是不太清楚Tera Term的路径和MACRO的路径区别,也不要担心,再有的命令中,会用到路径的时候,会讲明是哪个路径,如下:

  在这里插入图片描述

  filereadln

  格式:filereadln

  注意环境变量result的值:

  如果当读取一行的时候发现指针已经到达文件末尾,result被设置为1。而不是读取了一行后发现在指针到达文件末尾,就返回1,切记!!

  如果文件中仅仅包含一个新行,那么strvar的值是空的,result被置为0.

  Strtrim

  格式:strtrim

  功能:删除strval字符串中开头和结尾出现的trimchars字符串

  注意:1、如果在strval字符串中间出现的trimchars,不会被移除,只会移除中间或者结尾出现的所有trimchars字符串。

  2、如果strval字符串开头或者结尾出现了trimchars字符串中一部分的字符,也会被移除。

  3、如果strval字符串开头或者结尾连续出现了几个rimchars字符串,则都会被移除。

  例子:

  src = “YEE_ONLY YEE_ONLY verify YEE_ONLY test YEE_ONL YEE_ONLY”

  strtrim src 'YEE_ONLY ’

  messagebox src ‘result’

  显示结果为:verify YEE_ONLY test

  gettime

  例子:gettime starttime “%Y%m%d-%H%M%S”

  %Y%m%d-%H%M%S到底是什么时间格式呢?

  参考连接即可知道:https://baike.baidu.com/item/strftime/9569073?fr=aladdin

  12 如何运行ttl脚本

  有两种方式运行ttl脚本:

  ttermpro软件加载TTL脚本

  在这里插入图片描述

  通过 Mcro 选择自己需要加载的ttl脚本即可。

  TTPMACRO.EXE软件加载ttl脚本

  在安装tera term软件时候,安装路径不仅有ttermpro.exe软件,还有ttpmacro.exe软件,打开ttpmacro.exe软件加载ttl脚本即可。

  在这里插入图片描述

  13 ttermpro软件使用方法

  13.1 中文显示乱码

  如图所示,ttermpro软件链接虚拟机,显示中文有乱码:

  在这里插入图片描述

  如下设置即可:

  在这里插入图片描述

  在这里插入图片描述

激活谷谷主为您准备了激活教程,为节约您的时间请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/91321.html

(0)
上一篇 2024年 6月 1日
下一篇 2024年 6月 1日

相关推荐

  • malloc申请最大空间_malloc最大能申请多大的空间

    malloc申请最大空间_malloc最大能申请多大的空间malloc calloc ralloc 用法malloc、calloc和realloc都是C/C++语言中的内存管理函数,用于动态分配内存。它们的用法如下:mallocmalloc函数用于分配一段指定大小的内存空间,并返回一个指向该空间起始地址的指针。其函数声明为:vo

    2024年 5月 29日
  • 移位运算符只能用于整型吗对吗为什么

    移位运算符只能用于整型吗对吗为什么1、算数运算符算术运算符即算术运算符号。是完成基本的算术运算(arithmetic operators) 符号,就是用来处理四则运算的符号。运算符描述示例结果+加法1+12-减法2-11*乘法2*36/除法(取商)5/22%取余(取模、取

    激活谷笔记 2024年 5月 18日
  • word方框中打√符号_Word表格中小方块√怎么打

    word方框中打√符号_Word表格中小方块√怎么打5种方法,在Word里输入打√方框□!相信很多人都遇到过,公司、学校下发的表格里,出现下面这种勾选题:□是 □否如果是纸质版表格,还可以在方框□里手动打√。但如果是电子版,怎么才能输入打√的方

    2024年 5月 12日
  • 二叉排序树和二叉查找树_二叉排序树查找的优缺点

    二叉排序树和二叉查找树_二叉排序树查找的优缺点数据结构与算法之 —— 二叉树和二叉搜索树二叉树01. 什么是二叉树定义:每个节点都最多只能有两个子节点的树结构特点: 通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 任何一个树都可以转成二叉树02. 完全二叉

    2024年 5月 21日
  • 线程之间的同步机制有哪些_线程之间的同步机制有哪些方法

    线程之间的同步机制有哪些_线程之间的同步机制有哪些方法2021互联网公司java开发工程师面试题汇总!(附答案)2021年互联网大厂,校园招聘java开发工程师面试题大全!(附答案),本篇文章包含java基础+JVM+JMM面试题。Java 基础 40语言特性 12Q1:Java 语言的优点?Q

    2024年 5月 23日
  • malloc分配内存实例_malloc分配内存的算法

    malloc分配内存实例_malloc分配内存的算法C语言基础知识(7): 动态内存分配(malloc)C语言知识点的基础汇总如下:1. 数据类型:C语言中有基本数据类型(如整型、浮点型、字符型等)和派生数据类型(如数组、结构体、枚举等)。2. 变量和常量:变量是用来存储数据的,而常量是固定的数值或字符。3. 运算符:C语言支持各种运算符,

    激活谷笔记 2024年 5月 22日
  • c语言括号匹配问题不用栈_c语言实现括号匹配问题

    c语言括号匹配问题不用栈_c语言实现括号匹配问题C语言 —— 括号配对问题(不使用栈)#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ int n;

    激活谷笔记 2024年 5月 30日
  • printf固定长度_printf 固定长度

    printf固定长度_printf 固定长度printf用法-printf输出固定长度的字符需要打印一个固定长度的字符一般可以这么做:void str_print(const char* str, unsigned int str_len)&nbsp

    2024年 5月 25日
  • 二叉搜索树后序遍历_二叉搜索树后序遍历的特点

    二叉搜索树后序遍历_二叉搜索树后序遍历的特点二叉搜索树 —— 不能说完全没用,至少思想是经典的前言我们知道,「 顺序表 」 可以 「 快速索引 」 数据,而 「 链表 」 则可以快速的进行数据的「 插入 和 删除 」。那么,有没有一种数据结构

    2024年 5月 29日
  • 轩辕剑5打开没反应怎么办

    轩辕剑5打开没反应怎么办上星期的一天,很普通的一个工作日,拖泥钱老师突然问我:“您愿意写一篇《轩辕剑叁外传:天之痕》的评测吗?”我抬起眼睛看向电脑屏幕右上角,上面清晰地显示着:2019年7月15日。熟悉的配方,原来的味道“爱过。

    激活谷笔记 2024年 5月 18日
  • dl250拆电瓶_dl250拆电瓶方法

    dl250拆电瓶_dl250拆电瓶方法II 型戊二酸血症 (GA-II)引起非酮症低血糖、代谢性酸中毒、高氨血症的线粒体疾病II 型戊二酸血症 (GA-II),也称多种酰基辅酶A脱氢酶缺乏症(MADD),是一种遗传性疾病,会干扰人体分解蛋白质和脂肪产生能量的能力。未完全加工的蛋白质和脂肪会在体内积聚,导致血液和组

    2024年 6月 2日
  • 积分运算电路和微分运算电路的区别与联系_积分运算电路和微分运算电路的区别与联系

    积分运算电路和微分运算电路的区别与联系_积分运算电路和微分运算电路的区别与联系全国服务热线:18923864027积分运算电路与微分运算电路介绍积分运算电路1.一般的积分运算电路反相积分运算电路是常用的积分运算电路。如下图所示。电路分析:输入电阻为R,放大倍数取决于R、C的大小。为保证集成运放输入级差分放大电路的对称性,电阻R&

    2024年 5月 30日
关注微信