当前位置: 首页 > news >正文

NRC优先级中比较特殊的—NRC0x13和NRC0x31

1、基础知识

大家都了解 

NRC0x13,表示长度错误和格式错误

NRC0x31,表示DID不支持和数据格式不支持

2、为什么说这两个NRC比较特殊 

看下图的标注部分:

2.1、先看NRC0x13

步骤一:仔细看是先判断Minmun Length Check ,判断最小长度?什么是最小长度。最小长度意味着最简单的状态。

看过我之前一篇关于0x2F的同学知道,我讲解时举了个0x2F服务,控制车窗升降的例子,其中就提到可以为每一个车窗设置一个DID,我们采取以下报文来控制车窗:

0x 701 05 2F D0 03 01 32;

使用以下报文来返回控制给ECU

0x 701 04 2F D0 01 00;

于是第一个0x13,判断的最小长度 < 04时,我们就可以返回NRC0x13,

第二个NRC0x13,就需要根据具体的设置去判断了?

还是以控制车窗为例:

如果定义一个DID来控制多个车窗,则每个车窗ControlState对应的bit数,则不是一个固定数,你可以定义每个车窗使用7bit,也就是一个Byte来控制,但是你也可以用8bit、9bit来控制,没有限定。

而controlMask参数也是不是固定的,理论上,使用一个DID就可以控制车上所有的车窗。车锁。灯、电机、继电器等。只要控制的单位超过8个,controlMask也是可以大于一个字节的。

故这个最大长度不能超过我们设定的最大长度。

还是以一个DID控制四个车窗为例

0x 701 09 2F D0 03 03 32 32, 32 32 F0 55 55 55;(can_fd,0x55是填充数据)

这里的09就是我们设置该DID对应最大的长度。如果你发送

0x 701 0A 2F D0 03 03 32 32, 32 32 F0 55 55 55 ;can_fd,0x55是填充数据)

就会得到NRC 13的回复 

2.2 、NRC0x31也是如此

大家自行参考规范,结合上文思考,和NRC0x13的思路一致

3、结论:

也就是说0x2F服务中,NRC0x13和NRC0x31并没有明显的优先级关系,这两个NRC是交叉的

4、再思考阅读规范

希望你能找出和0x2F中,NRC0x13和NRC0x31这样差不多的例子

http://www.lryc.cn/news/517737.html

相关文章:

  • ref() 和 reactive() 区别
  • 深度学习与计算机视觉 (博士)
  • Sprint Boot教程之五十:Spring Boot JpaRepository 示例
  • NaVILA:用于足式机器人导航的VLA模型
  • 大语言模型提示技巧(七)-扩展
  • 基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址
  • 25年01月HarmonyOS应用基础认证最新题库
  • wps宏js接入AI功能和接入翻译功能
  • 【Logstash03】企业级日志分析系统ELK之Logstash 过滤 Filter 插件
  • 深度学习:Java DL4J基于RNN构建智能停车管理模型
  • 花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%
  • 2025年:AI化浪潮中的社会变迁与商业革新
  • filebeat、kafka
  • js单例模式
  • 【设计模式】装饰器与代理模式的对比
  • Proteus-8086调试汇编格式的一点心得
  • 什么是Kafka?有什么主要用途?
  • SpringBoot插件
  • UE 5.3 C++ 管理POI 如何对WidgetComponent 屏幕模式进行点击
  • Nginx实现接口复制
  • Selenium 八大元素定位方法及场景扩展
  • WebRTC 的优缺点详细解析
  • B树及其Java实现详解
  • 下载ffmpeg执行文件
  • Redis高频知识点
  • Boost.Asio 同步读写及客户端 - 服务器实现详解
  • LeetCode 3019.按键变更的次数:遍历(转小写)
  • ETCD未授权测试
  • 【Hystrix-1】Hystrix:构建弹性分布式系统的基石
  • 【超详细】MIT 液态神经网络(LNNs)——深度学习新动向