baidu_25946235 2015-02-10 05:51 采纳率: 0%
浏览 4450
已结题

急切 编程用的是VBScript,在secureCRT

各位版主、大神们:

老板给了一个协议,让我根据这个协议来写一个编码(类似这个东西吧)。用的是VB script 在 SecureCRT上编。

小女子是真的没学过这些东西啊啊啊!!!高中大学都是文科生好吗?!!

表1  帧格式
说  明    代  码
帧起始符    68H
地址域   A0

控制码   C
数据长度域 L
数据域   DATA
校验码   CS
结束符   16H

2.1 地址域A:长度为1字节,每字节2位BCD码。0xFF为广播地址。在工装与被测主板通信时为点对点通信方式,固定位0xAA。在WiFi模块测试中,地址域高4bit用于表示工装地址,低4bit用于表示WiFi模块编号,两个编号都从0开始。举例说明,0x06指的是第一个工装的第七个模块,0x13指的是第二个工装的第四个模块。
2.2 控制码C:控制码的格式。



D7  0: 由主站发出的命令帧,1: 由从站发出的命令帧,
D6  0: 从站正确应答,1: 从站对异常信息的应答,
D5  0:无后续数据帧
D4  0:主板测试协议;1 WiFi模块测试协议
D3--D0:0x01  工装测试参数信息查询(工装与上位机通信)
        0x02  工装参数初始化(工装与上位机通信)
        0x03  被测主板信息读取        
        0x04  主板指示灯检测
0x05  温度&WIFI串口电路检测接口单元检测
0x06  主板WIFI电源电压、V5P0电源电压检测
0x07  TDS电路&流量信号处理电路检测
0x08  毫安级电流检测
0x09  微安级电流检测  
0x10  工装是否已经准备好
0x90  工装已经准备好
0xD0  工装没有准备好
0x91  检测到测试开始按键按下(从机发送给主机)
0x11  0x91命令已经接收到(主机发送给从机)
0x12  开始烧录程序
0x92  0x12命令已经接收到
0x13  烧录程序时电流测量
0x93  0x13命令已经接收到
0x94  烧录程序时测试到的电流数据,单位为mA,数据长度为2byte。
0x14  烧录程序时测试到的电流数据正确收到
0x15  对模块断电,Tinterval后上电
0x95  0x15命令收到
0x96  0x15命令执行完毕
0x17  正常工作时电流测量
0x97  0x17命令已经接收到
0x98  正常工作时测试到的电流数据,单位为mA,数据长度为2byte。
0x18  正常工作时测试到的电流数据正确收到
0x19  对模块断电,不再上电,测试失败,测试结束
0x99  0x19命令已经接收到
0x9A  0x19命令已经执行完毕
0x1B  对模块断电,测试成功,测试结束
0x9B  0x1B命令已经接收到
0x9C  0x1B命令已经执行完毕
注意:将D6置1,则相应的确认帧为表示相应命令帧接收出错。

2.3 数据长度L:数据域的字节数,十六进制数字。在WiFi模块测试中,如果是不需要带数据的命令帧,数据长度为0.
2.4 数据域DATA:数据域包括数据标识和数据,其结构随控制码的功能而改变。在WiFi模块测试中,如果是不需要带数据的命令帧,数据域不存在。
2.5 校验CS:从帧起始符开始到校验码之前的所有各字节的模256的和,即各字节二进制算术和,   
     不计超过256的溢出值。
2.6 结束符16H:表示帧信息的结束。
 传输次序:数据域数据均应先传送低位字节,后传送高位字节。 
2.8 差错控制:帧校验为纵向信息校验和,接收方无论检测到纵向信息校验和出错,放弃该信息帧, 
     不予响应。在WiFi模块测试中,接收方如果检测到接收到的信息出错,需要回复错误帧。


1应用说明

3.1工装与上位机通信
    待定。
3.2工装对被测电路主板进行测试
3.2.1 读取被测主板信息
            功能:          读取被测主板信息,主要是判断被测主板是否烧录程序
            控制码:        C=0x03
            数据长度:      L=1(数据项长度)
            帧格式:68 AA 03 L DATA CS 16  (DATA 见附录说明A)
          TX: 68 AA 03 00 00 CS 16 (CS为校验和值)
3.2.2 主板指示灯检测
        功能:           通知主板将指示灯点亮
        控制码:         C=04H
        数据长度:       L=1
        帧格式:  68H AA 04 L DATA CS 16 
        TX: 68 AA 04 00 00 CS 16 (CS为校验和值) 
3.2.3 温度&WIFI串口电路检测接口单元检测
   功能:工装通知被测主板将WIFI串口引脚(TX、RX)置高,当工装检测到它们被置高后, 
         再将被测主板的温度传感器接口拉低,当被测主板检测到温度传感器接口被拉低后,
         将WIFI串口引脚(TX、RX)拉低。
         控制码:   C=05H
         数据长度:    L=1H
    帧格式:   68H AA 05 L DATA CS 16 
    TX: 68 AA 05 00 00 CS 16 (CS为校验和值)
3.2.4 主板WIFI电源电压、V5P0电源电压检测 
        功能:通知被测主板将各项功能关闭(LED灯置灭、TDS接口两个输出脉冲端置低等)。
        控制码:   C=06H
数据长度: L=1H
帧格式:   68H AA 06 L DATA CS 16
TX: 68 AA 06 00 00 CS 16 (CS为校验和值)

3.2.5 TDS电路&流量信号处理电路检测
        功能:通知被测主板开始接收水量信号,并记录水量脉冲个数。再采集并记录TDS端口的  
              AD值。最后将接收到的水量信号脉冲个数和TDS端口采集的AD值,按照通讯规约
              返回给工装。
        控制码:   C=07H
数据长度: L=1H
帧格式:   68H AA 07 L DATA CS 16
TX: 68 AA 07 00 00 CS 16 (CS为校验和值)
3.2.6 毫安级电流检测
        功能:通知被测主板将各项功能完全开启。
        控制码:   C=08H
数据长度: L=1H
帧格式:   68H AA 08 L DATA CS 16
TX: 68 AA 08 00 00 CS 16 (CS为校验和值)

3.2.7 微安级电流检测
        功能:通知被测主板将各项功能关闭进入低功耗模式。
        控制码:   C=09H
数据长度: L=1H
帧格式:   68H AA 09 L DATA CS 16
TX: 68 AA 09 00 00 CS 16 (CS为校验和值)

~~~~~~~~~~~~~~~~~~~~~以上是协议内容~~~~~~~~~~~~~~~~~~~~              
然后小女子自己上网搜索资料,自己开始瞎编了一些东西,在了解VBS的时候遇到了一些问题:
1. do loop感觉一定是要用在编码里面的,但是不知道怎么用
2. CS 那个汇总应该用什么函数啊?想不明白。

请大神求救!!!!

~~~~~~~~~~~~~~~~~~~~ 以下是自己瞎编的~~~~~~~~~~~~~~~~~~~

#$Language="VBScript"
#$Interface="1.0"


Sub Main()


            Dim SwitchKey
            SwitchKey=crt.Screen.WaitForStrings ("\x90","\xD0",20)


            Select case SwitchKey       
                    case 1

                    crt.Dialog.MessageBox "工装已经准备好" & VbCr

                    case 2

                    crt.Dialog.MessageBox "工装没有准备好" & VbCr

                    End Select

            crt.Screen.WaitForStrings "\x91"

            crt.Screen.Send "\0x11" & VbCr

            crt.Screen.WaitForStrings "\x93" 

            crt.Screen.Send "\0x13" & VbCr

            crt.Screen.WaitForStrings "\x94" 

            crt.Screen.Send "\0x14" & VbCr

            crt.Screen.WaitForStrings "\x95"

            crt.Screen.Send "\0x15" & VbCr

            crt.Screen.WaitForStrings "\x96"

            crt.Screen.Send "\0x15" & VbCr   

            crt.Screen.WaitForStrings "\x97"

            crt.Screen.Send "\0x17" & VbCr

            crt.Screen.WaitForStrings "\x98"

            crt.Screen.Send "\0x18" & VbCr

            crt.Screen.WaitForStrings "\x99"

            crt.Screen.Send "\0x19" & VbCr

            crt.Screen.WaitForStrings "\x9A" 

            crt.Screen.Send "\0x19" & VbCr   

            crt.Screen.WaitForStrings "\x9B" 

            crt.Screen.Send "\0x1B" & VbCr

            crt.Screen.WaitForStrings "\x9C" 

            crt.Screen.Send "\0x19" & VbCr 

        Loop 


End Sub

请大神求救!!!! 能不能直接来一个完整的编码,然后让我在secureCRT上run一下,然后我边看边理解,万分感谢!

我还不知道怎么悬赏,但是如果有结果的话,一定追加悬赏(虽然还不知道怎么给)但肯定保证!
  • 写回答

13条回答 默认 最新

  • baidu_25946235 2015-02-10 05:57
    关注

    有大神来吗?悬赏2000c币

    评论

报告相同问题?

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?