| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能 -> 正文阅读 |
|
[系统运维]【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能 |
1 前言1.1 声明本文根据个人学习经验及网络资料整理+撰写而成,禁止私自转载。 TTL脚本视频学习:TTL脚本语法与实战——嵌入式开发中串口自动化神技能 1.2 参考链接TTL 脚本简易教程: 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 注释; 分号后面是注释 ; 分号开始的行是注释行 5 字面量; 支持正数负数, 不支持浮点数 ; $开始的数字是16进制 ; 字符串’Hello, world’“I can’t do that”“汉字也支持” ; 字符串可以直接拼接 6 变量变量包括用户自定义变量和系统变量两部分. 6.1 自定义变量定义变量无需指定类型, 直接使用 变量名 = 值 的语法即可. 注意:赋值时候=右边的“10”或’10’表示字符串,10才表示数字,例如cycle = “10”和cycle = 10是不一样的,一个是字符串,一个是数字。 ; 定义普通变量 ; 定义数组及赋值 strdim s 3 ; str数组 6.2 系统变量TTL 预置使用了一些系统变量, 写脚本的时候注意不要占用. 阅读脚本的时候要注意这些是系统变量, 是作为系统函数返回值而存在的. 常见: 具体请查看 Tera Term 的帮助文件: ?如何查看变量值? 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返回。 9 常见用法下面介绍一些 TTL 脚本中的常见写法. 9.1 连接服务器使用 connect 命令, 而且有不少其他命令必须在连接服务器后才能使用: 9.2 执行给定命令sendln 9.3 等待特定字符wait ‘$’ ‘#’ ; 等待远端服务器屏幕上出现 $ 或者 #. 未出现则一直等待. 该等待超时时间由系统变量 timeout 控制, 若为 0 则无超时时间, 即无限期等待 9.4 拼接字符串使用 sprintf2 直接定义变量. 其中 %s 是占位符, 被字符串后面跟的变量替换. 直接声明变量并在后面添加字符串. 9.5 保存服务器操作日志getdir logdir ; 获取当前脚本所在路径 10 include包含其他文件include ‘1.ttl’ 11 常用命令?参考链接 官方TTL命令参考: 常用命令直接参考官方命令介绍即可,非常清晰明了,此处就不一一列出。只列出部分易错/重要的命令: ?fileopen ?changedir chagedir改变的是Tera Term的路径。setdir改变的是MACRO的路径。 那这时候又有问题了,什么是Tera Term的路径,什么是MACRO路径? ?filereadln 注意环境变量result的值: ?Strtrim 显示结果为:verify YEE_ONLY test ?gettime 12 如何运行ttl脚本有两种方式运行ttl脚本: ?ttermpro软件加载TTL脚本 ?TTPMACRO.EXE软件加载ttl脚本 13 ttermpro软件使用方法13.1 中文显示乱码如图所示,ttermpro软件链接虚拟机,显示中文有乱码: 如下设置即可: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 13:58:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |