XP下超级终端与嵌入式开发板交互技巧

  一、简介

  超级终端是Windows操作系统自带的一个通用的串行交互软件,可以通过这个工具对路由器交换机等进行配置。使用调制解调器、一条零调制解调电缆或以太网连接,再调用此程序能够连接到其他计算机、Telnet 站点、公告板系统 (BBS)、联机服务和主机。我们可以用它来调试电路是否可行。 嵌入式开发板基本都有串口,可以通过超级终端与嵌入式系统的串口交互,使超级终端成为嵌入式系统的“显示器”。

  使用:开始→程序→附件→通讯→超级终端(可新建或者使用现有的连接对设备进行配置);

  启动命令:hypertrm.exe。

  二、超级终端的原理

  超级终端的原理并不复杂,它是将用户的输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入。它显示的是从串口接收到的字符。所以,嵌入式系统的相应程序应该完成的任务便是:

  将自己的启动信息、过程信息主动发到运行有超级终端的主机;

  将接收到的字符返回到主机(也就是回显),同时发送需要,也可以远程管理服务器。

  三、超级终端常用操作

  超级终端应用比较简单,和一般的串口软件差不多。

  1、发送0x0C(12) : 清屏;

  2、发送0x08(8) :将光标退格(注意这并不删除字符);

  3、发送0x09(9) ;将光标右移一个制表符(相当于TAB键);

  4、发送0x0D(13);将光标移动到行首;

  5、发送0x0A(10)或0x0B(11);将光标移动到同一列的下一行;

  6、发送0x0D跟0x0A,换行功能(回车和换行的问题后面会具体讲解)。

  四、常见问题和解决办法

  1、把超级终端最大化时,那个实际屏幕还是没有变化。

  原因:"超级终端"的终端屏幕大小由所使用的字体大小决定。它将自行显示为 24 行,每行为 80 或 132 个字符,字体为所选字体。

  解决办法:在超级终端的"查看"菜单上,选择"字体"。如果想要较大的终端屏幕,就选择较大的字体。如果想要较小的终端屏幕,就选择较小的字体。

  2、键入的信息没有显示在超级终端上。

  原因:终端屏幕显示的信息是来自远程计算机所发送的,而不是已输入到本地计算机上的信息。为了查看所键入的信息,远程计算机必须可反馈输入信息。这可能会在输入信息与终端屏幕显示信息之间存在时间滞后的问题。

  解决办法:请确保与远程计算机正确连接,并且远程计算机可以反馈用户输入信息(也就是远程计算机或嵌入式开发板将受到的信息再发送给本地计算机)。

  3、ANSI字符不能够正确显示。

  原因:未使用终端字体。

  解决办法:在超级终端的"查看"菜单上,选择"字体"。单击"终端",然后选择"确定"。

  4、连接到远程计算机后,终端屏幕显示无意义信息。

  原因:未选择正确的终端仿真类型。

  解决办法:在超级终端的"文件"菜单上,选择"属性"。选中"设置"选项卡。在"仿真"下拉框中,选择远程计算机的终端类型。如果远程计算机类型没有在下拉框中列出,则超级终端不支持该类型。

  5、不能从终端删除字符。

  原因:所连接的远程计算机已经控制了显示在终端屏幕上的字符。远程计算机期望光标能根据已发送到屏幕上的数据而定位到屏幕中的特定位置。如果在本地上改变该屏幕,那么就有可能以主机所不能预料或控制的方式,潜在地中断了您与远程计算机之间交互操作。因此,超级终端不允许从屏幕上删除字符。

  解决办法:不能。其实可以通过向远程计算机发送b(退格)转义符和空格来实现。

  6、用CTRL+V不能将数据粘贴到终端屏幕。

  原因:如果在该连接属性的"终端键"进行了设置,按 CTRL+V 将会给模拟器发送转义序列。许多主机使用 CTRL+V 来导航它们的系统。

  解决方案:可以将该设置更改到"Windows 键"中,然后 CTRL+V 就会正常运作。如要更改,请单击超级终端"文件"菜单中的"属性"。单击"设置"选项卡,然后单击" Windows 键"单选按钮。使用" Windows 键"设置时,所有的功能键、箭头键和控制键将在本地执行。建议选项为:使用"终端键"设置,然后使用菜单进行粘贴

  五、回车符和换行符区别

  首先介绍一下“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。 后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧:

  Unix 系统里,每行结尾只有“<换行>”,即“n”;

  Windows系统里面,每行结尾是“ <回车><换行>”,即“rn”;

  Mac系统里,每行结尾是“<回车>”,即“r”。

  一个直接后果是,Unix/Mac系统下的文件在Windows里打 开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

  需要注意的是:在Windows系统中回车键被当做rn 的组合来使用,当我们从键盘输入回车键时,Windows系统会把回车键当做rn 来处理,Unix系统只会当做n 来处理,不管在什么系统中,都可以用n来作为一行输入结束的标记,只是在编程时我们需要注意,在Windows系统中我们会读到r 这个字符,我们必须把r和正常输入的字符区别开来。

  Windows与Unix文件格式是不同的,问题一般就是出在/r/n问题上。回车(CR)和换行(LF)符都是用来表示“下一行”的。而标准没有规定要使用哪一个。于是产生了三种不同的用法:和windows采用回车+ 换行(CR+LG)表示下一行(亦即所谓的PC格式),UNIX采用换行符(LF)表示下一行,MAC机采用回车符(CR)表示下一行。当在不同的系统间传递文件,就要涉及格式的转换。

  两种文件格式之间的转化

  Unix -> Windows:'n' -> 'rn'

  while ( (ch = fgetc(in)) != EOF )

  {

  if ( ch == 'n' )

  putchar('r');

  putchar(ch);

  }

  只要在Unix文件中出现的'n'的之前加入一个'r'字符就可以了

  Unix <- Windows:'n' <- 'rn'

  从Windows到Unix的情况复杂点,不能只是把从文件中读出的'r'去掉就可以了。因为Windows文件中的文本行的末尾有时会内嵌一个回车符号,这种情况在击打式打印机中出现。所以在转换前要判断'r'是否和'n'同时出现。如果同时出现,则去掉'r',如果没有同时出现,保留'n'。

  cr_flag = 0; /* No CR encountered yet */

  while ( (ch = fgetc(in)) != EOF )

  {

  if ( cr_flag && ch != 'n' ) {

  /* This CR did not preceed LF */

  putchar('r');

  }

  if ( !(cr_flag = (ch == 'r')) )

  putchar(ch);

  }

  六、超级终端中关于回车符合换行符的一些设置

  以换行符作为发送行末尾(ASCII码发送)

  (超级终端 ->属性 ->设置 ->ASCII码设置 ->ASCII码发送:以换行符作为发送行末尾),若勾选了,则发送的数据中有0D(r)的,会在0D后添加0A(n)。

  以换行符作为传入行末尾(ASCII码接收)

  (超级终端 ->属性 ->设置 ->ASCII码设置 ->ASCII码发送:以换行符作为传入行末尾),若勾选了,则接收的数据中有0D(r)的,会在0D后添加0A(n)。

  此外,还有一点需要注意,我们在使用printf输出信息时,比如“printf("ce123' CSDN blog.n")”,这里面的n是回车换行,因此通过串口将该字符串发送到超级终端时要在n后面或者后面增加一个r。

 

 

时间: 2024-10-06 12:10:23

XP下超级终端与嵌入式开发板交互技巧的相关文章

arm-自己设计嵌入式开发板,核心板最少需要哪些部分?

问题描述 自己设计嵌入式开发板,核心板最少需要哪些部分? 我想自己设计一块arm开发板,比如s3c2440的开发板. 核心板最少需要有哪些部分就可以直接控制led灯亮灭了(不用底板)? 另外,我有买过一些现成的开发板,比如tq2440,也看过它的核心板原理图. 但是这些原理图加了很多很杂的内容,比如加入一大堆电容并联的图进去,让我搞不清楚这些电容该不该放进核心板,也不知道这些电容有些什么作用. 我希望直接根据datasheet里面的说明做出一块核心板 解决方案 不知道,,,帮顶,,, 解决方案二

物理地址-嵌入式开发板使用ifconfig修改网卡mac地址无效

问题描述 嵌入式开发板使用ifconfig修改网卡mac地址无效 在开发嵌入式软件的时候,使用ifconfig命令进行设置网卡的ip地址 ifconfig eth0 down ifconfig eth0 hw ether 00:02:b3:00:00:AA ifconfig eth0 up 但是配置后,使用ifconfig命令,网卡mac地址却没有改变. 很多文档说: 指定时,要为每个虚拟网卡指定不同的物理地址: 然而我指定的虚拟网卡mac地址都是一样的.

集所有的发烧友的创意 共同打造中国最受开发者喜爱的嵌入式开发板!

立刻参与 http://www.openioe.net/spbcd.html 希望搞物联网与智能硬件的朋友多多留言 集所有的发烧友的创意 共同打造中国最受开发者喜爱的嵌入式开发板!

简单介绍win7下搭建apache+php+mysql开发环境_php技巧

环境目录:E:\dev​ 一.Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1.安装说明: 运行apache安装程序,方法非常简单,弹安装界面后一直"next" 接着会出现一个界面,需要填写3个内容,分别为:Network Domain.Server Name.Administrator's Email Address 随便填写就好,不影响内容. 在下面还有2个选项,默认选择为80端口,第二个为8080端

Ubuntu12下编译安装PHP5.3开发环境_php技巧

最近项目遇到一个坑爹的事情,一个源码必须使用PHP5.3,但是现在Ubuntu上自带的版本是5.4,降级之后会出各种奇怪的问题,最后没办法,只能一步步在Ubuntu12.04server上自己编译PHP5.3,比繁琐,共享之. 安装Apache2.2 复制代码 代码如下: sudo apt-get install apache2 -y 然后安装MySQL5.5 复制代码 代码如下: sudo apt-get install mysql-server-5.5 -y 接着就是编译依赖环境: 复制代码

WinXP超级终端简单操作教程(适合开发技术人员)

  首先学习使用超级终端之前我们必须知道超级终端的作用,超级终端是一个通用的串行交互软件,很多嵌入式应用的系统有与之交换的相应程序,通过这些程序,可以通过超级终端与嵌入式系统交互,使超级终端成为嵌入式系统的"显示器". 超级终端的原理是将用户输入随时发向串口(采用TCP协议时是发往网口,这里只说串口的情况),但并不显示输入.它显示的是从串口接收到的字符.所以,嵌入式系统的相应程序应该完成的任务便是: 1.将自己的启动信息.过程信息主动发到运行有超级终端的主机; 2.将接收到的字符返回到

将sqlite3移植到嵌入式Linux开发板M6708上

最近,因为项目的需要,我们购买了广州致远电子有限公司的M6708-T工控板(预装Linux系统),准备将sqlite3移植到本嵌入式开发板上.笔者参考了网上的很多文章,均无法达到成功移植的目的.在多方摸索之下,终于采用了一种简单的方法成功实现了移植.本文介绍如何成功地将sqlite3移植到M6708-T工控板上,可供相关的开发人员参考. 准备工作 在本机上安装好Linux系统(一般都是安装在虚拟机上面的),并按照工控板的用户手册在Linux系统上安装交叉开发的工具链. 将工控板上电,能够通过串口

ARM开发板嵌入式Linux修改开机启动LOGO的方法

1.嵌入式 Linux LOGO显示原理 嵌入式Linux是直接在FrameBuffer的基础上.直接显示一个ppm格式的图象.它 kernel/drivers/video/fbcon.c中的fbcon_show_logo()完成,最大颜色支持224色而不常见的255色. 默认的logo文件是 drivers/video/logo/logo_linux_clut224.ppm. 2.制作流程 因为LINUX LOGO格式需要ppm格式来显示.这种格式是一种用ASCII来描述图像数据一种格式.一般

友善之臂tiny4412-1306开发板安卓系统烧写

折腾了很久,终于烧写成功.不废话,咱们说说流程吧. 首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取. 然后解压: 1.tar -xvf  linux-3.5 .... 然后cp  tiny4412-android_deconfig  .config 接下来make zImage 在 arch/arm/boot/生成对应的zImage ,这个也就是我们的kernrl. 当然在此之前,我们需要安装交叉编译工具arm-linux-gcc.没有的话就装上这个环境,arm-li