一款可编程的的串口调试工具 报文分类 脚本编程

本文详细介绍了MyIsenCom软件的基础功能,如串口通信、数据接收显示、定时发送等,以及其扩展功能,包括支持JScript、VBScript和JavaScript的脚本编程操作,CRC16校验和Timer定时器方法。通过实例展示了如何使用内置函数进行数据处理和发送控制。
摘要由CSDN通过智能技术生成

在这里插入图片描述

下载链接链接:
[https://download.csdn.net/download/weixin_41617063/85373149]

软件说明
一、软件基础功能:
a、串口接收。
b、串口发送。
c、接收显示 HEX 格式 或 ASCII格式。
d、接收数据保存。
e、定时发送。
二、软件扩展功能:
a、软件支持 JScript VBScript JavaScript 三种脚本语言的单线程编程操作。
b、支持脚本语言的编辑、加载、单次运行、连续运行操作。

三、关于软件数据接收窗口,软件数据接收窗口包含以下:
串口数据接收显示(白色字体显示)
串口发送数据显示()
脚本OSD 系统检测信息显示
脚本函数打印输出信息显示
注:当实时显示数据量过大时,显示窗体会删除掉部分内容。
可通过保存记录的方式查看历史数据。
保存记录的历史数据包含信息主体及时间戳。

四、脚本说明

  脚本内嵌工程:
   My       IsenCom软件 串口接收发送相关方法 和 窗口操作相关方法
   CRC       16位Crc校验相关的方法
   Timer     内部定时器相关的方法
   
   My 相关函数:
    1、 接收窗口打印输出。 VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:要显示的字符串
        输出参数:无
        注:当输入参数为 null 或错误的格式时,
            系统窗口会 输出 Print null 或 Print ERR
        函数主体:My.Print(object _str)
		
    2、 串口输出byte 数组 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:要输出的byte数组显示的字符串
        输出参数: 
            串口无效或没有打开时:false :No SerialPort Or Invalid SerialPort				  
            输入数据错误时  :"false : data in wrong format"
            数据转换错误时  :"false : data in wrong format"
            其他错误        :"false"
            串口输出进栈OKtrue		  
        函数主体:object  My.PortSendByte(object _obj)
    3、 串口输出字符串 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:要输出的字符串
        输出参数: 
            串口无效或没有打开时:"false :No SerialPort Or Invalid SerialPort"
            其他错误        :"false"
            串口输出进栈OKtrue
        函数主体:object  My.PortSendStr(object _obj)
    4、 获取串口输入 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:无
        输出参数: 
            串口接收框收到的数据
            HEX格式:HEX:...
            ASC格式:ASC:...
            ...为 接收到数据的字符显示
            举例:收到 HEX数据  02 05   =>  "HEX:0205"	
                  收到 ASC数据 "02 05"     =>  "ASC:02 05"				   
		函数主体:object  My.GetPortData(object _obj)   
		
    5、 清除接收缓存中的数据 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:无
	    输出参数: "true"   
        函数主体:object My.ClearPortData()  
		
    6、 获取发送窗口的输入 。仅VBScript 适用。
        输入参数: 数字; 范围 报文的No号
	    输出参数: 
            报文的格式及内容依次为:
            object[0]: ASCHEX		=>  ASC  报文为ASC格式,HEX 报文为HEX的字符串格式
            object[1]: 报文内容		   
        函数主体:object[]  My.GetSendBox(int _num)   

    7、 获取发送窗口的输入 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: 数字; 范围 报文的No号
        输出参数:
		    报文的格式及内容的字符串
            HEX 报文返回:"HEX:..."	 ...HEX的字符串格式,位数肯定为偶数  
            ASC 报文返回:"ASC:..."  ...ASC字符串
        函数主体:object  My.GetSendBoxs(int _num)   
    8、 将校验值的ASC字符串填写进报文内 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: 报文NO号,校验值的ASC字符串
        输出参数: 报文号错误:false : num Err
                   上次报文填写没有刷新:"false: No Refresh"
        函数主体:object  My.WriteToSendBoxCK(int num,string ck)  
		
    9、 修改或填写报文内容 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:
           int num, string name, string msg, string ck, bool send, int tick
           报文号、报文名称、报文内容的ASC字符串、校验字符串、使能、下条报文间隔时间
        输出参数: 报文号错误:false : num Err
                   上次报文填写没有刷新:"false: No Refresh"		
        函数主体:object  My.WriteToSendBox
                 (int num, string name, string msg, string ck, bool send, int tick)

    10、插入报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:
           int num, string name, string msg, string ck, bool send, int tick
           报文号、报文名称、报文内容的ASC字符串、校验字符串、使能、下条报文间隔时间
        输出参数: 报文号错误:false : num Err
                   上次报文填写没有刷新:"false: No Refresh"
        函数主体:object  My.InsertToSendBox 
                  (int num, string name, string msg, string ck, bool send, int tick) 
    11、追加报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:
           int num, string name, string msg, string ck, bool send, int tick
           报文号、报文名称、报文内容的ASC字符串、校验字符串、使能、下条报文间隔时间
        输出参数: 上次报文填写没有刷新:"false: No Refresh"
        函数主体:object  My.AppendToSendBox
                  (int num, string name, string msg, string ck, bool send, int tick) 		
    
    12、单次发送报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: 发送报文的序号
                  发送013号报文  输入参数为"0,1,3"; 英文标点逗号作为间隔
        输出参数: 数据格式错误 : "false : Invalid Input"
                  报文号超范围 : "false : Input Data out of range"
                  无输入       :"false : Input null";
                  上次报文填写没有刷新:"false: No Refresh"
        函数主体:object  My.SignalSendBox(object _obj)
     
    13、持续发送报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: 发送报文的序号
                  发送013号报文  输入参数为"0,1,3"; 英文标点逗号作为间隔
        输出参数: 数据格式错误 : "false : Invalid Input"
                  报文号超范围 : "false : Input Data out of range"
                  无输入       :"false : Input null";
                  上次报文填写没有刷新:"false: No Refresh"
        函数主体:object  My.RunSendBox(object _obj)
    14、停止发送报文 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数:输出参数: true"false"
        函数主体:object  My.StopSend()

    CRC       16位Crc校验相关的方法  该方法只适用于16CRC校验
    1、设置CRC校验的参数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
       输入参数: 
           int _initData, int _polynomial, bool in_invers,
		   bool out_invers,int width,int _outOr
           初始值、多项式、输入反向、输出反向、位宽、输出异或值
           :位宽只适用于16.
        输出参数:"true"; 
                  "false: width   Invalid Input"
        函数主体:
		    object  CRC.CrcInitDat
             ( int _initData, int _polynomial, bool in_invers,
			   bool out_invers,int width,int _outOr)
    2、设置HEX CRC校验 。VBScript、JScript、 JavaScript 三种脚本均可适用。
       输入参数:HEX数据的 ASC字符串
	   输出参数:校验值(int 型数据)  
       函数主体:object CRC.GetCrcByte(string _str)
    3、设置ASC CRC校验 。VBScript、JScript、 JavaScript 三种脚本均可适用。
       输入参数: ASC字符串
       输出参数:校验值(int 型数据)  
       函数主体:object CRC.GetCrcStr(string _str)

    Timer     内部定时器相关的方法
    1、设置定时器参数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
       输入参数: int _which, int _count
                  定时器号 0~99
                  计数值:0~ 100000
       输出参数:"true"; 
                 "false: width   Invalid Input"
                 该函数只负责初始化启动。
       函数主体:object  Timer.InitTimer(int _which, int _count)
    2、查询计数器是否达到 。VBScript、JScript、 JavaScript 三种脚本均可适用。
       输入参数: int _which
                  定时器号 0~99
       输出参数:时间到:       "true"; 
                 时间不到:     "false";
                 输入数据错误: "false: width   Invalid Input"
       函数主体:object  Timer. TimedTo(int _which)
    3、 查询计数器值 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: int _which
                   定时器号 0~99
        输出参数: 输入数据错误: "false: width   Invalid Input"
                   输入数据正确:返回 int 型数值. 
        函数主体:object  Timer. GetTimerCount(int _which)
    4、 定时器复位,从头计数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: int _which
                   定时器号 0~99
        输出参数: 不满足条件复位,定时器没有到达时间: false
                   定时器复位OK  :  true 
        函数主体:object  Timer. ResetTimer(int _which)
    5、 定时器停止,从头计数 。VBScript、JScript、 JavaScript 三种脚本均可适用。
        输入参数: 无
        输出参数: 无
        函数主体:object  Timer.  StopTimer(int _which)
开发串口设备(包括移动蓝牙设备)功能,经常需要使用到串口调试工具,关于串口调试工具,网上有很多非常不错的使用简单的调试工具,但是都是比较早期的,比如对于编码的支持都不好,基本上都只能发送ANSI编码的字符串,如果需要发送Unicode或者UTF-8的编码字符串就没有办法,需要自己编好码再发送;另外,不能根据接收到的数据通过编程自动实现通信协议返回数据,只能通过手工,这样就不能满足全流程协议测试,就很不方便。基于此,我们开发了一款”狐狸“可编程串口调试工具,最大的亮点是可以发送、查看任何编码数据格式;可以编程(Pascal Script)实现串口自动回复数据。”狐狸“可编程串口调试工具一款免费工具,调试串口设备的得力工具。常用的数据回复模板都已经提供,会Pascal的就直接可以上手。 该工具如果配合【蓝牙模块通过USB转串口】的通用板子,就可以调试任何蓝牙协议。比如你需要开发一款蓝牙温度计,通过手机APP或者小程序链接温度计,查看温度,开发过程中,可以不需要先有这款蓝牙温度计,可以通过【蓝牙模块通过USB转串口】的板子结合”狐狸“可编程串口调试工具调试手机端,完全实现手机端的功能,最后再直接使用蓝牙温度计就可以和手机通信了,非常方便,并行开发极大提高效率。 希望”狐狸“可编程串口调试工具对有需要的朋友有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值