UDS中定义的否定响应代码常用的:

ServiceNotSupported/服务不支持($11 )

当诊断仪发送的请求消息中服务标识符无法识别或不支持时,ECU应发送该响应码

SubFunctionNotSupported/不支持子功能($12 )

该响应码表明请求的动作不能执行的原因是ECU不支持请求消息中的服务特定参数。如果诊断仪已经发送了一请求消息,并且该请求消息包含能识别且支持的服务标识符,但子功能要么无法识别要么不支持,此时ECU应(shall)发送此响应代码

IncorrectMessageLengthOrInvalidFormat/不正确的消息长度或无效的格式($13)

该响应码表明请求的动作不能执行的原因是ECU接收到的请求消息长度与特定服务规定的长度不匹配或者是参数格式与特定服务规定的格式不匹配。

conditionsNotCorrect/条件不正确($22)

该响应码表明请求的动作不能执行的原因是ECU的状态条件不允许。

requestSequenceError/请求序列错误($24)

该响应码表明请求的动作不能执行的原因是ECU收到一个非预期的请求消息序列或诊断仪发送的消息。

requestOutOfRange/请求超出范围($31)

该响应码表明请求的动作不能执行的原因是ECU检测到请求消息包含一个超出允许范围的参数或者是不支持或者激活会话模式下不支持的数据标识符/例程标识符的访问。应(shall)允许诊断仪在ECU内部进行读数据、写数据或通过数据调整功能的服务使用该响应代码。

securityAccessDenied/安全访问拒绝($33)

用在需要安全访问但没通过安全访问的情况。

invalidKey/密钥无效($35)

该响应码表明ECU不允许通过安全访问的原因是诊断仪发送的密钥与ECU内存中的密钥不匹配。

generalProgrammingFailure/一般编程失败($72)

该响应码表明在不可擦除的内存设备中进行擦除或编程时ECU检测到错误发生。

requestCorrectlyReceived-ResponsePending/正确接收请求消息-等待响应($78)

该响应码表明诊断仪请求的消息被ECU正确接收且请求消息中所有参数有效,但是将执行的动作未完成且ECU未准备好接收其它请求。一旦完成所请求的服务,ECU应(shall)发送一肯定响应消息或发送否定响应吗不为78的否定响应消息。

subFunctionNotSupportedInActiveSession/激活会话不支持该子服务($7E)

该响应码表明请求的动作不能执行的原因是当前会话模式下ECU不支持请求的子服务。

serviceNotSupportedInActiveSession/激活会话不支持该服务($7F)

该响应码表明请求的动作不能执行的原因是当前会话模式下ECU不支持请求的服务。

CANoe学习笔记(四):UDS常用否定响应的更多相关文章

  1. CMake学习笔记四-CMake常用命令

    CMake常用命令 PROJECT PROJECT(projectname [CXX] [C] [Java]) 指定工程名称,并可指定工程支持的语言.支持语言列表可忽略,默认支持所有语言 SET ...

  2. (K8s学习笔记四)常用命令实例

    1.显示Pod的更多信息 kubectl get pod <pod-name> -o wide kubectl get pods -show-all # 查看已经停止的Pod 2.以yam ...

  3. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  4. muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制

    目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...

  5. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

  6. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  7. amazeui学习笔记--css(常用组件9)--导航nav

    amazeui学习笔记--css(常用组件9)--导航nav 一.总结 1.导航基本使用:<ul> 添加 .am-nav class 以后就是一个基本的垂直导航.默认样式中并没有限定导航的 ...

  8. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  9. java之jvm学习笔记四(安全管理器)

    java之jvm学习笔记四(安全管理器) 前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器 ...

  10. Learning ROS for Robotics Programming Second Edition学习笔记(四) indigo devices

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

随机推荐

  1. 移动端网页--better-scroll容易采坑合集

    移动端网页--better-scroll容易采坑合集 一.better-scroll源码bug,浏览器需要刷新一次才能正常滑动 在new BScroll时,在options中加入 mouseWheel ...

  2. selenium验证码处理-获取验证码图片二进流数据转成原图保存

    1.因为视频的作者给的代码不完整,只有核心部分的代码. 2.视频作者示例使用的第三方破解12306的脚本网页(失效了) 所以本人无法复现,此次截取部分代码作为理解核心意思(思想方法最重要) 1.面向对 ...

  3. webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

    webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题 目录 webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题 记录个iusse. 插入音频数据后,GetAu ...

  4. 随机森林n_estimators 学习曲线

    随机森林 单颗树与随机森林的的分对比 # 导入包 from sklearn.datasets import load_wine from sklearn.model_selection import ...

  5. 存储系统模拟—R实现

    存储系统 存储问题是人们最熟悉又最需要研究的问题之一.例如企业储存的原材料.在制品等,存储太少,不足以满足生产的需要,将使生产过程中断; 存储太多,超过了生产的需要,将造成资金及资源的积压浪费.商店储 ...

  6. 二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.26.0 IPv4/IPv6双栈 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 ...

  7. [PKM] 个人知识管理

    1 个人知识管理的需求 1.1 背景 随着信息大爆炸,碎片化的知识越来越多,原来中小学阶段在学校中习得的.传统的.基于纸质笔记的知识管理方式已不能满足当前的诉求. 传统的基于纸质笔记的知识管理方式 工 ...

  8. Java代理之jdk动态代理+应用场景实战

    本文将先介绍jdk动态代理的基本用法,并对其原理和注意事项予以说明.之后将以两个最常见的应用场景为例,进行代码实操.这两个应用场景分别是拦截器和声明性接口,它们在许多开发框架中广泛使用.比如在spri ...

  9. Reshaper 代码清理工具

    reshaper是个好工具,能帮助我们提升开发效率,比如本文要介绍的全局代码清理功能. 如果你的VS安装了reshaper,可以通过Ctrl+E+C快捷键打开代码清理窗口. 代码清理,可以格式化多种文 ...

  10. Python学习——Juptyer Notebook快捷键的使用

    1. 运行当前Cell:Ctrl + Enter 2. 运行当前Cell并在其下方插入一个新的Cell:Alt + Enter 3. 运行当前Cell并选中其下方的Cell:Shift + Enter ...