【CAPL实战】LIN帧干扰的脚本实现

文章目录

  • 1、帧头干扰响应linDisturbRespWithHeader
    • 1.1 函数功能
    • 1.2 参数说明
    • 1.3 代码实例
    • 1.4 执行结果
  • 2、帧头干扰帧头linDisturbHeaderWithHeader
    • 2.1 函数功能
    • 2.2 参数说明
    • 2.3 代码实例


1、帧头干扰响应linDisturbRespWithHeader

1.1 函数功能

使用一个新的header帧头来干扰指定的response响应。

1.2 参数说明

linDisturbRespWithHeader(long disturbedFrameId, dword byteIndex, dword bitIndex, long disturbingFrameId);
// disturbedFrameId:需要干扰的ID,范围0~63
// byteIndex:需要干扰的字节索引(第一个字节为0);如果索引等于帧长度,将会干扰校验和字节;大于帧长度的索引,干扰无效。范围0~N,N帧长度。
// bitIndex:响应中断开始的bit位,索引0-7表示数据位,索引8代表停止位。较大的索引值指定索引数据字节后的字节空间,这时需要确保字节空间足够大。
// disturbingFrameId:仿真用于中断指定字节的帧头标识符

返回值:如果执行成功,返回不等于0;否则为0。

1.3 代码实例

使用ID=2的帧头来干扰报文ID=2数据段的byte3的bit2位,干扰方法如下:

int result;
on key "a"
{result = linDisturbRespWithHeader(2, 3, 2, 2);if(result != 0){TestStepPass("PASS","干扰成功");}else{TestStepFail("FAIL","干扰失败");	}
}

1.4 执行结果

在这里插入图片描述

  • 从上面的实例我们可以看到,函数触发后只会干扰1次
  • 对于第4个参数disturbingFrameId:仿真用于中断指定字节的帧头标识符,仿真的ID可以与被干扰的ID一致;当然也可以仿真0~63的任意ID
  • 脚本开发上要注意对于返回值的判断,来知道脚本中的函数是否触发成功。

2、帧头干扰帧头linDisturbHeaderWithHeader

2.1 函数功能

使用一个新的header帧头来干扰下一个的header帧头。

2.2 参数说明

linDisturbHeaderWithHeader(dword byteIndex, dword bitIndex, long disturbingFrameId);
// byteIndex:需要干扰的字节索引,0:同步段,1:受保护ID段。
// bitIndex:帧头中断开始的bit位,索引0-7表示数据位,索引8代表停止位。较大的索引值指定索引数据字节后的字节空间,这时需要确保字节空间足够大。取值范围:0~255。
// disturbingFrameId:仿真用于干扰帧头的帧头标识符ID

返回值:如果执行成功,返回不等于0;否则为0。

2.3 代码实例

使用ID=2的帧头来干扰报文ID=2帧头的同步段的bit4位,干扰方法如下:

int result;
on key "b"
{result = linDisturbHeaderWithHeader(0, 4, 2);if(result !=0){TestStepPass("PASS","干扰成功");}else{TestStepFail("FAIL","干扰失败");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为HarmonyOS打造开放、合规的广告生态 - 激励广告

场景介绍 激励广告是一种全屏幕的视频广告,用户可以选择点击观看,以换取相应奖励。 接口说明 接口名 描述 loadAd(adParam: AdRequestParams, adOptions: AdOptions, listener: AdLoadListener): void 请求单广告位广告,通过AdRequestPar…

自由学习记录(18)

动画事件的碰撞器触发 Physics 类的常用方法 RaycastHit hit; if (Physics.Raycast(origin, direction, out hit, maxDistance)) {Debug.Log("Hit: " hit.collider.name); } Physics.Raycast:从指定点向某个方向发射射线,检测是否与碰撞体…

【elkb】创建用户和角色

在使用中我们不能把超管的用户信息给到所有者,我们需要为不用的使用场景创建不同的用户。 登录管理员用户 打开管理页面 创建角色 点击角色,创建角色 填写角色信息 设置Kibana 权限 最后点击创建角色 创建用户 点击用户--->创建用户 填写信息 登录…

【论文复现】语言模型中的多模态链式推理

📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。 📗本文收录于论文复现系列,大家有兴趣的可以看一看 📘相关专栏C语言初阶、C…

Mysql常用语法一篇文章速成

文章目录 前言前置环境数据库的增删改查查询数据查询所有条件查询多条件查询模糊查询分页查询排序查询分组查询⭐️⭐️关联查询关联分页查询 添加数据insert插入多条记录不指定列名(适用于所有列都有值的情况) 更新数据更新多条记录更新多个列更新不满足条件的记录 删除统计数…

“不可原谅的漏洞”论文导读

文章《Unforgivable Vulnerabilities》由Steve Christey 2007年撰写,主要探讨了在软件安全领域中那些本可以避免的漏洞,即“不可原谅的漏洞”。这些漏洞通常由于开发者忽视了基本的安全开发实践而存在,且容易被发现和利用。文章提出了建立一套…

文件夹无法访问?全面解析与高效恢复策略

一、文件夹无法访问的困境 在日常的计算机使用中,我们时常会遇到文件夹无法访问的尴尬情况。这种故障表现为双击文件夹时,系统毫无反应,或者弹出“无法访问,拒绝访问”的错误提示。更令人头疼的是,有时文件夹内的文件…

Spring @RequestMapping 注解

文章目录 Spring RequestMapping 注解一、引言二、RequestMapping注解基础1、基本用法2、处理多个URI 三、高级用法1、处理HTTP方法2、参数和消息头处理 四、总结 Spring RequestMapping 注解 一、引言 在Spring框架中,RequestMapping 注解是构建Web应用程序时不可…

VLAN间通信以及ospf配置

目录 1.基础知识介绍 1.1 什么是VLAN? 1.2 VLAN有什么用? 1.3 不同VLAN如何实现通信? 1.4 什么是路由汇总? 1.4.1 路由汇总的好处: 2. 实验 2.1 网络拓扑设计 2.2 实验配置要求 2.2.1 三层交换配置&#xff…

Spring Boot 注解大全:全面解析 Spring Boot 常用注解及其应用场景

Spring Boot 注解大全:全面解析 Spring Boot 常用注解及其应用场景 简介 Spring Boot 是一个基于 Spring 框架的简化开发框架,它旨在简化 Spring 应用的初始搭建和开发过程。Spring Boot 提供了一系列的注解,使得开发者可以更加方便地进行应用开发和配置。本文将详细介绍 S…

SQL Server身份验证模式

SQL Server是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQL Server身份验证。理解这些身份验证方式的概念与更改方式的操作,对于数据库管理员和开发者至关重要。本文将详细介绍身份验证方式的概念以及如何…

ArcGIS005:ArcMap常用操作101-150例动图演示

摘要:本文涵盖了GIS软件操作的多方面内容,包括地图文档的新建、打开、保存及版本兼容性处理;错误与警告的查阅及帮助文档的使用技巧;地图打印比例尺的调整与地图信息的完善;图层操作的撤销与恢复,界面元素的…

从零开始的c++之旅——继承

1. 继承 1.继承概念及定义 继承是面向对象编程的三大特点之一,它使得我们可以在原有类特性的基础之上,增加方法 和属性,这样产生的新的类,称为派生类。 继承 呈现了⾯向对象程序设计的层次结构,以前我们接触的…

【学习】软件测试中V模型、W模型、螺旋模型三者介绍

在软件工程的星辰大海之中,存在着三种独特的航路图:V模型、W模型以及螺旋模型。它们分别以各自的方式描绘了软件开发与测试的不同旅程。 首先映入眼帘的是V模型——一个以垂直线条贯穿始终的简洁图形。这个模型如同一座倒立的“V”字形山峰,…

SpringMVC笔记 一万字

此笔记来自于B站尚硅谷 文章目录 一、SpringMVC 简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点 二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖 3、配置web.xmla>默认配置方式b>扩展配置方式 4、创建请求…

【快速上手】pyspark 集群环境下的搭建(Standalone模式)

目录 前言 : 一、spark运行的五种模式 二、 安装步骤 安装前准备 1.第一步:安装python 2.第二步:在bigdata01上安装spark 3.第三步:同步bigdata01中的spark到bigdata02和03上 三、集群启动/关闭 四、打开监控界面验证 前…

三周精通FastAPI:31 使用 StaticFiles从目录中自动提供静态文件

官方文档:静态文件 - FastAPI 静态文件 您可以使用 StaticFiles从目录中自动提供静态文件。 使用StaticFiles 导入StaticFiles。"挂载"(Mount) 一个 StaticFiles() 实例到一个指定路径。 from fastapi import FastAPI from fastapi.staticfiles impo…

【双目视觉标定】——1原理与实践

0 前言 双目视觉定位是目前机器(机器人)等领域中使用得非常广泛的视觉定位技术,双目视觉是模拟人的视觉系统利用两个不同位置的摄像头的视差来确定物体的位置。由于有需要采集两个摄像头的图像共同参与计算,所以双目相机装配要求…

【最佳牛围栏——二分】

题目 思路 扩大数据,避免精度问题,拉到整数域解决不用枚举前缀和的 l 和 r,改为求可能 l 的最小值,线性做法不用记录长度来求平均值,改为用平均值处理数据(这是第二条的前提),直接通…

[java][高级]MyBatisPlus

一、MyBatisPlus简介 1. 入门案例 问题导入 MyBatisPlus环境搭建的步骤? 1.1 SpringBoot整合MyBatisPlus入门程序 ①:创建新模块,选择Spring初始化,并配置模块相关基础信息 ②:选择当前模块需要使用的技术集&…