UDS统一诊断服务【五】诊断仪在线0X3E服务

news/2024/10/17 16:18:12/

文章目录

  • 前言
  • 一、诊断仪在线服务介绍
  • 二、数据格式
    • 2.1,请求报文
    • 2.2,子功能
    • 2.3,响应报文


前言

本文介绍UDS统一诊断服务的0X3E服务,希望能对你有所帮助


一、诊断仪在线服务介绍

诊断仪在线服务比较简单,其功能就是告诉服务端,诊断仪还是处于连着的状态,不要切换状态。比如,当你想从默认会话模式切换到扩展会话模式,并保持在扩展会话模式时,此时可以周期性发送3E服务。因为,如果不在默认会话模式,超过S3时间,ECU就会自动切换到默认会话,3E服务可保持在你其他模式下。

二、数据格式

2.1,请求报文

格式很简单,就两个字节,【SID】+ 【sub-function】

图片

2.2,子功能

子功能为0X00的话,没有什么特殊的含义

0X80:抑制正响应,表示如果是肯定响应的话,服务端就不用回复了

在这里插入图片描述

2.3,响应报文

分两种情况:无抑制正响应抑制正响应

无抑制正响应,则直接按标准格式回复就好

【SID + 0X40】+ 【sub-function】

在这里插入图片描述

抑制正响应,则服务端不会有任何回复,不响应

在这里插入图片描述

控制正响应,主要是为了减少不必要的带宽,因为有些服务是由功能寻址发出来的,而功能寻址是广播的方式发送的,所有节点都进行响应,那同时就会有很多响应报文发出来,占用总线带宽,而这些响应又是可有可无。所以,ECU在接收到抑制正响应位是1的请求报文时,如果回复的是肯定响应,就不需要回复了(否定响应是需要回复的)

否定响应
如果是否定响应,和其他诊断服务格式是一致的。[7F] + [SID + 0X40] + [NRC]
支持的NRC如下
在这里插入图片描述

0X3E服务很简单,就介绍到这里。


http://www.ppmy.cn/news/47217.html

相关文章

【JavaEE】File、InputStream和OutputStream的使用

1.File 在计算机中目录结构如下: 而File就表示一个目录或者一个普通文件。 File表示目录: File表示普通文件: 我们先来看File的构造方法: 构造器描述File(File parent, String child)根据父目录 孩子文件路径,创…

玄子Share - 精选三套 JavaScript 练手项目

玄子Share - 精选三套 JavaScript 练手项目 1. 50 Projects in 50 Days - HTML/CSS and JavaScript 50 天 50 个前端练手项目 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dCWO6V2G-1682076972984)(./assets/image-20230421192413713.png)] [外链…

VUE3的使用

文章目录 一、Vue3基础语法1、Vue开发准备2、Vue的模板语法3、条件渲染4、列表渲染5、事件处理6、表单输入绑定 二、Components组件1、组件基础2、组件交互3、自定义事件的组件交互4、组件生命周期5、引入第三方组件 三、网络请求及路由配置1、Axios网络请求2、Axios网络请求封…

【rustdesk】rust入门及 windows尝试编译

rustup 微软建议用vs code开发 下载了64位的版本: vs code 插件 rust-analyer 介绍Better TOML,用于更好的展示.toml文件Error Lens, 更好的获得错误展示 One Dark Pro, 非常好看的Vscode主题 CodeLLDB, debugger程序 安装

vue:生成二维码 qrcode、vue-qr(二维码中间可带logo)

一、方法一 qrcode qrcode - npm 1.1、安装 yarn add qrcode 1.2、页面引入 import QRCode from qrcode; 1.3、方法里边使用 getQRCodeUrl(){ QRCode.toDataURL(hello world,{color: {dark:"#010599FF",light:"#FFBF60FF"}}).then((url) > {// 获…

循环结构化命令小结

shell脚本编程系列 循环是编程不可或缺的一部分。bash shell提供了三种循环命令。 for命令允许遍历一系列的值,无论是在命令行中提供的,还是包含在变量中的,或是通过文件名通配符匹配获得的文件名和目录名。 for var in list docommands do…

MySQL索引数据结构入门

之前松哥写过一个 MySQL 系列,但是当时是基于 MySQL5.7 的,最近有空在看 MySQL8 的文档,发现和 MySQL5.7 相比还是有不少变化,同时 MySQL 又是小伙伴们在面试时一个非常重要的知识点,因此松哥打算最近再抽空和小伙伴们…

在React中使用setState修改数组的值时,为什么不能使用数组的可变方法(push、unshift等)? 但在vue中可以

一、为什么React中修改数组时不能使用数组的可变方法 在React中使用setState修改数组的值时,不推荐使用数组的可变方法(如push、unshift等)。这是因为React会对比新旧状态,在发现状态变化后,更新组件的渲染。但当你调…