- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 【一文理解诊断单帧与多帧传输--基于ISO15765-2】
在汽车诊断通信中,单帧传输适用于短数据(如控制命令或状态查询),通过一帧数据完成交互,具有高效率和低复杂度优势,典型场景包括读取单个诊断ID或实时性要求高的操作;而多帧传输则用于长数据(如ECU固件刷写),通过首帧声明长度、流控帧协调速率和连续帧携带数据的机制实现可靠传输,虽复杂度较高,但能确保大数据量的完整交互,典型场景包括固件更新或诊断日志下载。
2025-06-29 19:43:44
920
原创 【抑制正响应位详细解释与举例】
抑制正响应位(Suppress Positive Response Bit)是UDS(统一诊断服务)协议中的关键标志位,位于诊断请求报文的子功能字节最高位(Bit 7)。当该位设置为1时,ECU(电子控制单元)在成功执行请求后将不返回正响应(Positive Response),仅在检测到错误时返回负响应(Negative Response,NRC)。抑制正响应位通过减少非必要确认消息,显著提升了汽车诊断通信的效率,尤其适用于高频请求或无需实时反馈的场景。其设计兼顾了通信优化与错误处理,确保系统在抑制正响应
2025-06-21 00:00:14
650
原创 【UDS诊断--NRC否定响应码详细介绍】
NRC(Negative Response Code)是UDS(统一诊断服务)协议中用于指示诊断请求执行失败原因的编码。当ECU(电子控制单元)无法完成客户端(如诊断工具)的请求时,会通过否定响应报文返回NRC码,帮助诊断工具快速定位问题根源。NRC是UDS协议中不可或缺的错误反馈机制,通过标准化的编码和优先级规则,为汽车诊断提供了高效、可靠的错误处理方案。理解NRC码的含义和应用场景,是开发诊断工具、调试ECU功能的关键基础。7F + 请求SID + NRC码7F:固定标识符,表示否定响应。
2025-06-15 21:43:16
862
原创 【OBD II 简介 -基于SAE J1979和GB 18352.6标准】
OBD II(On-Board Diagnostics II)即第二代车载自动诊断系统,是汽车电子化、智能化进程中的关键技术标准。OBD II诊断系统已从单一的排放监测工具演变为车辆智能化的核心基础设施。其标准化接口、实时监测能力及数据交互功能,不仅提升了维修效率与行车安全,还为车联网、自动驾驶等前沿技术提供了数据支撑。随着技术融合与法规升级,OBD II将在智能交通生态中发挥更关键的作用。本服务的目的是提供当前与排放相关的数据值访问,包括模拟输入和输出、数字输入和输出以及系统状态信息。
2025-06-07 23:34:56
598
原创 【巧用TS MASTER C语言小程序 过滤并回放指定报文】
本文介绍了使用TS MASTER软件从整车CAN报文中过滤并回放特定诊断请求报文(ID:0x72C)的操作方法。步骤包括:1)导入原始报文文件离线回放;2)通过右键菜单或过滤字符串设置报文过滤;3)切换显示方式查看过滤结果;4)将选定报文生成C脚本;5)创建按键触发事件绑定脚本;6)编译运行实现按键触发报文回放。该方法可以精准筛选目标报文,避免混杂其他响应报文,便于问题复现和分析。
2025-05-31 19:53:35
204
原创 【CAN入门学习笔记】
CAN总线是一种高效的串行通信协议,广泛应用于汽车和工业控制领域。它具有多主控制、优先级仲裁、高柔性、可变速通信等特点,支持错误检测、隔离和恢复机制。CAN定义了三种错误状态(主动、被动和总线关闭)和五种帧类型(数据帧、远程帧、错误帧、过载帧和帧间隔),通过严格的错误处理机制确保通信可靠性。其仲裁机制和多主特性使其特别适合分布式实时控制系统。
2025-05-31 16:41:39
651
原创 【C语言实现CRC16算法-简单实现】
示例中使用了字符串 “123456789” 转换为字节数据进行 CRC 计算。确保输入数据为字节格式(uint8_t),如果是字符串,可以直接使用字符数组。输出结果为 CRC-16-CCITT 的值,以十六进制格式显示。如果你需要处理大文件,可以将文件分块读取并逐块计算 CRC。初始值通常是 0xFFFF。对应的值是 0x1021。
2025-04-28 18:49:08
458
原创 【autosar配置哪些错误会导致诊断无响应】
在AUTOSAR(汽车开放系统架构)配置中,导致诊断无响应的错误可能涉及多个层面,包括通信配置、诊断服务配置、网络管理配置以及底层软件模块的错误。
2025-04-07 15:11:33
572
原创 【诊断—DTC status bit 详细解析】
bit2 只在测试进行和结束的时候更新,bit2 和 bit1的置位(置1)条件一致,但是bit1置位被清除是在每个操作循环开始的时候,而bit2置位被清除是在至少一个完整的操作循环没有监测到故障之后。本示例概述了两个操作周期中与排放相关的OBD DTC中DTC状态位的操作。2、对于 2 trip DTC, 在第一个 trip bit2置1的时候,bit3仍然仍然是0;3、对于 2 trip DTC,bit0 第二次被监测到置1的时候再置1;1、对于 1 trip DTC,bit0置1,bit3同时置1;
2024-12-07 00:37:05
1436
4
原创 Typera主要快捷键整合
实现快捷键无序列表输入-之后输入空格有序列表输入数字+“.”之后输入空格/ ctrl + shift + [引用内容> + 空格 / ctrl + shift + q (对选中内容可用)任务列表-[空格]空格 文字标题ctrl+数字表格ctrl+t任务列表- [ ] 文字(“-” 后与 “[]“ 中间都有空格)选中一整行ctrl+l (字母L)选中单词ctrl+d选中相同格式的文字ctrl+e跳转到文章...
2022-05-08 13:52:53
442
原创 Microsoft SQL Server 2008 R2(Microsoft SQL Server,错误: 2)
打开SQL Server 2008 R2,连接数据库引擎,出现以下错误:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsoft SQL Server,错误: 2)有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdNa
2022-03-15 16:43:08
7665
原创 购物网站首页设计(HTML CSS JS layui )
购物网站首页设计(品优购)界面预览文件预览源码1 首页.html<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>品优购-综合网购首选-正品低价、品质保障、配送及时、轻松购物!</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA
2021-08-15 08:34:25
6553
4
原创 汇编语言求一组数中的最大值,最小值和总和(以10个数为例)
c语言简单实现:int a[10]={3,6,5,4,2,9,8,0,1,2}int max,min,total=a[0];int n=9;int i=0;do{ i++; total=total+a[i]; if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; n--; }while(n>0)这里使用的是打擂法,设想10个人设擂台比年龄大小,要求找出年龄最大的人。首先第一个人在擂台上守擂台,接下来上来第二个人,如果
2021-07-06 19:00:59
9924
1
原创 货郎担问题(分支限界法)
#include<iostream>#include<fstream>using namespace std;typedef int Type;#define N 5#define ZERO_VALUE_OF_TYPE 0#define MAX_VALUE_OF_TYPE 2147483647typedef struct node_data{ Type c[N][N]; //费用矩阵 int row_init[N]; //费用矩阵的当前行映射为
2021-06-26 14:06:03
2439
原创 分支限界法解作业分配问题的实现(C++)
#include<iostream>using namespace std;#define MAX_FLOAT_NUM 10000.0#define N 4struct ass_node{ int x[N]; //分配给操作员的作业 int k; //搜索深度 float t; //当前搜索深度下,已分配的作业所需时间 float b; //本结点所需的时间下界 struct ass_node *next;};typedef struct a
2021-06-16 21:05:25
1685
原创 回溯法求解N皇后问题和图的着色问题(C++)
n皇后问题:#include<iostream>using namespace std;#include<math.h>bool place(int x[],int k){ int i; for(i=1;i<k;i++){ if((x[i]==x[k])||(abs(x[i]-x[k])==abs(i-k))) return false; } return true;}void n_queens(int n,int x[]){ int k=
2021-05-20 23:44:37
645
原创 c++双向循环链表实现基数排序
c++双向循环链表实现基数排序#include<iostream>using namespace std;#include<math.h>typedef struct node{ int key; struct node *prior; struct node *next;}LNode;/*双循环链表是环形的,首尾相连的*///取下并删去双循环链表的第一个元素template<class Type>Type *del_entry(Type
2021-05-15 22:49:47
288
原创 Java接口的使用
1.一个类使用关键字implements声明自己实现了一个或多个接口,如果实现多个接口,用逗号隔开。类的继承是单一的,但可以实现多个接口。2.如果一个类实现了某个接口,此类会自动拥有接口中定义的常量和抽象方法。常量可以直接使用,但方法是抽象的,必须在类中提供具体的方法体,类才可以使用,否则该类就变成了抽象类,不能创建对象。3.接口也是类型,可以定义引用,但不能创建对象。接口定义的引用可指向此接口的类创建的对象,并且通过此引用可调用接口中定义的方法。4.接口(interface)可以说成抽象类的一种特例
2021-05-06 21:43:30
393
原创 贪心法求解背包问题
贪心法求解背包问题编写程序,输入一组物体重量以及它们的价值大小,对每一个物体求出它对的价值重量比,按由大到小的顺序排列,每一次取出这个比值最大且物体可以被包装下的物体,直到包装满为止。输出装入背包的物体,并给出装入物体的编号以及它们各自的价值和装入背包的物体总价值。#include<iostream>#include<algorithm>using namespace std;typedef struct{ float p; float w; float v; i
2021-05-05 12:31:48
442
SAE J1979-2-2021.pdf
2025-06-20
ISO14229-7-2015-02-en.zip
2025-06-07
ISO14229-6-2013-03-en.zip
2025-06-07
ISO14229-4-2012-12-en.zip
2025-06-07
ISO14229-5-2013-11-en.zip
2025-06-07
ISO14229-3-2012-12-en.zip
2025-06-07
SAE-J1979-2研究
2025-04-27
学生信息管理系统源码.zip
2021-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人