超级终端中的自动检测(150分) (0分)

  • 主题发起人 主题发起人 g622
  • 开始时间 开始时间
G

g622

Unregistered / Unconfirmed
GUEST, unregistred user!
这是个没得到答案的老问题,如果有合适的回答,我会加分的。
超级终端中的自动检测是如何作到的,我作过实验,两台pc间用串口线直接相连,用超级终
端接发字符,不管接收端的数据位,校验位,停止位如何设置的和发送端不同,都可以正常接
受,奇怪!你可以作实验,注意:直接相连时,串口线需要跳线.
这种自动检测如何用delphi作到?

 
买一根串口线,价钱很便宜,我买的之花了5元钱,比调线便宜多啦,而且非常稳定
 
这种自动检测如何用delphi作到?
~~~~~~~~
我是问自动检测。 :)
 
你说的自动检测是有前提的吧:
1)两端都运行超级终端
2)发送文本文件

其实实现手段也比较简单,就是双机协议过程:
发送方发出一串握手标识,接收方接收到正确握手时返回应答,
发送方在超时之前收到正确应答,则确认协议完成,
否则修改通信格式重新开始握手。

限定7位ascii,或者选择适当的握手标识,握手过程就可以大大缩短
 
确实是文本文件,但两端并不是都运行超级终端,我曾用mscomm,dos下tc做过测试,一样
可以识别.lii,请你自己做一下实验。
以前我也怀疑过是应用上自己定义的协商过程,但后来发现不是的。
 
我在win98下试的,3线协议,发送端超级终端,接收端自己程序,根本收不到正确。
 
g622:请详细介绍你的测试方法。
 
刚才特意好奇分析了一下协议串,好像是二进制
00011000和00001000连续10个,反复发,
跟传输协议也不同,我知道传输协议头是**$B1后面跟10个0
 
3线连接,0moden跳线,vb(mscomm)->超级终端,无论vb里用什么数据格式,波特率,
传送文本,超级终端(自动检测模式)接收正常???!!!!
前面的是同步信号。
 
哦,你说是超级终端接收呵,我试试……
好像进超级终端先要设通信格式呵,怎么置成自动检测模式?
 
g622:我又做了一下,结果是这样的:
1)自己程序发,超级终端那边只有设置一致才能正确接收;
2)超级终端发,自己程序收,超级终端那边不论改什么样的格式,这边都能收正确;
我不知道你的结论是不是这样。

可是最后我仔细研究的时候,发现在超级终端那边修改通信格式之后,实际上DCB
根本没有变化,而是要等到退出再进去才修改。也就是说上述2)实际是个假象,
应该是HyperTerm的一个Bug。
 
我在试一试 ;)
 
iie,请来拿分
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=368582
 
后退
顶部