首页 > 其他分享 >vTESTstudio系列14--vTESTstudio中自定义函数介绍1

vTESTstudio系列14--vTESTstudio中自定义函数介绍1

时间:2024-10-23 18:52:25浏览次数:11  
标签:case return 14 自定义 key factor vTESTstudio 函数

在上篇vTESTstudio系列的文章中,我们基于osek_tp.dll实现了诊断的发送和回复的最基本的脚本,但是我们可以看出来,这样的脚本是不具有普适性的,为了生成一个普适性的诊断请求回复的函数,接下来本系列的几篇文章会开始介绍一些优自定义的小函数,Let's Go!!!

目录

1. 自定义函数:

1.1字符串转10进制:

1.2字符串转16进制:

1.3字符串阵列转字节:

2. Debug结果:

2.1 on key:

2.2 检测结果:


1. 自定义函数:

1.1字符串转10进制:

dword char2dec (char c, int factor)
{
    switch(c){
    case 'F':
    case 'f': return 15 * factor;
    case 'E':
    case 'e': return 14 * factor;
    case 'D':
    case 'd': return 13 * factor;
    case 'C':
    case 'c': return 12 * factor;
    case 'B':
    case 'b': return 11 * factor;
    case 'A':
    case 'a': return 10 * factor;
    case '9': return 9 * factor;
    case '8': return 8 * factor;
    case '7': return 7 * factor;
    case '6': return 6 * factor;
    case '5': return 5 * factor;
    case '4': return 4 * factor;
    case '3': return 3 * factor;
    case '2': return 2 * factor;
    case '1': return 1 * factor;
    }
    return 0;
}

1.2字符串转16进制:

byte char2hex(char c)
{
  switch(c){
    case 'F':
    case 'f': return 15;
    case 'E':
    case 'e': return 14;
    case 'D':
    case 'd': return 13;
    case 'C':
    case 'c': return 12;
    case 'B':
    case 'b': return 11;
    case 'A':
    case 'a': return 10;
    case '9': return 9;
    case '8': return 8;
    case '7': return 7;
    case '6': return 6;
    case '5': return 5;
    case '4': return 4;
    case '3': return 3;
    case '2': return 2;
    case '1': return 1;
    }
    return 0;
}

1.3字符串阵列转字节:

void CharArray2Byte(char convertable_array[])
{
    int i;
    char c1,c2;
    int strIndex;
    strIndex = 0;
    
    for (i = 0; i < elcount(RqTxStringData); i++)
      {
          RqTxStringData[i] = 0;
      }    
    for (i = 0; i < elcount(convertable_array); i++)
     {
      RqTxStringData[i] = convertable_array[i]; 
     }
    ByteSize = 0;  
    for (i = 0; i < (strlen(RqTxStringData)/2); i++)
    {
        strIndex = i * 2;        
        c1 = RqTxStringData[strIndex];
        c2 = RqTxStringData[strIndex + 1];
        RqTxData[i] = char2byte(c1, 16) + char2byte(c2, 1);
        ByteSize++;
    }
}

2. Debug结果:

上述三个函数都是涉及到字符串的转化,因为这不是我们定义的export testfunction,所以这次我们采用"on key"和“write”的方式去验证我们的自定义函数:

2.1 on key:

on key是一个事件处理函数,用于处理按键事件。当用户按下或释放一个按键时,on key函数会被调用,并且可以执行相应的操作。该函数可以接收按键的信息,如按键的键码、按键的状态(按下或释放)等。通过在on key函数中编写逻辑代码,可以实现按键事件的处理和响应。

针对上述三个自定义函数,我使用如下的三个“on key”来实现验证逻辑,也是自己编辑自定义函数的常用方式:

on key 'A'
{
  write("char2dec is %x",char2dec('c',1));
}
on key 'B'
{
  write("char2byte is %x",char2byte('D',1));
}

on key 'C'
{
  CharArray2Byte("2E3F4D5G");
}

2.2 检测结果:

启动CANoe工程后,在键盘依次按下大写的“A”,“B”,“C”,然后再打开“Write”窗口,可以在窗口中看到debug信息:

成功验证我们自定义的函数是OK的,至于我为什么写这几个函数,且容我先卖个关子,后面再揭晓!!!

标签:case,return,14,自定义,key,factor,vTESTstudio,函数
From: https://blog.csdn.net/qq_41602272/article/details/141825631

相关文章

  • 149. 直线上最多的点数
    给你一个数组 points ,其中 points[i]=[xi,yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例1:输入:points=[[1,1],[2,2],[3,3]]输出:3示例2:输入:points=[[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:4 提示:1<=points.length<=300points[i].le......
  • PCIe宽带中频采集回放平台3GS/s 采集14bit 2通道 12.6GS/s回放 16bit 2通道
    PCIe宽带中频采集回放平台3GS/s采集14bit2通道12.6GS/s回放16bit2通道,是一款具备交流耦合和双极性宽带信号输入的高速数据采集卡,它具有2通道,14bit,3GS/s采集和2通道,16bit,12.6GS/s回放特性。板载FPGA具备实时信号处理能力,可实现数字下变频DDC、数字滤波、快速傅立叶变换等......
  • 自定义 tabBar
      ......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
    摘 要大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在网络小说的要求下,开发一款整体式结构的小说网站,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保......
  • 海波龙系统自定义登录界面
    以下方法可以自定义登录页面,以添加所有权声明。这使公司能够在用户登录到OracleHyperionEnterprisePerformanceManagementWorkspace时,向其宣传所有权声明。所有权声明信息将显示在版权信息下方。要自定义登录页面:1、停止所有服务。2、备份EPM_ORACLE_HOME/common/bpmu......
  • unity自定义头像
    publicclassCustomHeadImage:Image{[SerializeField]privatefloatshowPercent=1f;[SerializeField]privateintsegments=100;protectedoverridevoidOnPopulateMesh(VertexHelpervh){vh.Clear();floatwid......
  • 2024版最新148款CTF工具整理大全(附下载安装包)含基础环境、Web 安全、加密解密、密码爆
    经常会有大学生粉丝朋友私信小强,想通过打CTF比赛镀金,作为进入一线互联网大厂的门票。但是在CTF做题很多的时候都会用到工具,所以在全网苦寻CTF比赛工具安装包!关于我有不少阅读过我文章的伙伴都知道,我曾就职于某大厂安全联合实验室。从事网络安全行业已经好几年,积累了丰富......
  • P8814 [CSP-J 2022] 解密 题解
    解方程$题目中说,n=pq,ed=(p-1)(q-1)+1,m=n-ed+2.$$把ed的式子展开,得到:$$ed=p(q-1)-(q-1)+1$$ed=pq-p-q+2$$再把展开后的式子带入m中,得:$$m=n-(pq-p-q+2)+2.$$m=n-pq+p+q-2+2$$\becausen=pq$$\thereforem=pq-pq+p+q-2+2$$m=p+q.$$如果想要求出p和q的值,那么可以再......
  • 自定义组件-behaviors
      ......
  • uniapp微信小程序开发自定义相机
    自定义相机,调用手机原生相机,自定义拍照或录制键。原本以为是一个很复杂或者不能实现的功能,实际使用就是使用小程序的媒体组件<camera></camera>就可以了。<viewclass=""><cameraclass="camera"id="myCamera":device-position="devicePosition"@error="onCam......