自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 我的创作纪念日

其实很多博客都是我在学习过程中遇到的问题,但是找了很多资料也没有一个系统的教程,所以很多创作都是以一个小白的角度进行的,力求让更多零基础的人通过我的介绍能够在心里有一个完整的概览。创作的过程其实是一个把知识碎片整理成完整文档的过程,在这个过程中你需要对整个知识点有全面的把握,梳理其中关联的逻辑,使之形成一份易懂,逻辑性强的记录文档。在自己的职业规划中大概率一直从事汽车诊断,AutoSar开发的工作,希望自己不断学习,不断积累,变得更大强大,也能帮助更多人和认识更多志同道合的博友,道阻且长,行则将至!

2023-09-05 17:47:46 94

原创 UDS(ISO 14229-1)-0x14(Clear Diagnostic Information,清除诊断信息 )

客户端使用清除诊断信息服务(也就是14服务)来清除一个或多个服务器内存中的诊断信息。当 14服务完成清理时,服务器也应发送positive的响应,即使内存中没有DTC被存储。在这里需要注意的是,如果服务器支持多个内存中 DTC 状态信息的副本(例如,RAM 中存储一份 DTC 状态信息和 EEPROM 中也存储一份一样的 DTC 状态信息, 服务器应清除那些被19服务读取DTC状态的副本,也就是说如果19服务读取的是EEPROM 中存储的DTC状态,那么执行14服务清楚的也是EEPROM 中的数据。

2023-06-13 16:29:13 360

原创 UDS(ISO14229 - 1)-0x19服务(DTC信息读取)

如果你不知道DTC以及不清楚DTC的状态掩码是什么的话,建议先阅读我写的另一篇文章,汽车诊断中常说的DTC是什么?这里详细讲述了DTC以及DTC的状态掩码信息。客户端可以通过发送对此服务的请求,并将子服务设置为0x01,来检索与客户端定义的状态掩码匹配的 DTC 数的计数。Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 000000001例如:我想请求与以上掩码一致的DTC的数量,即目前Test Failed的DTC有几个,则可以发送一条请求。

2023-06-13 15:46:10 1347

原创 CAN总线详解--零基础入门

假设有A,B,C三个节点同时发送信息,他们会通过11bit的ID来进行仲裁,从图中可以看到在第四位的时候出现了不一致,这时候通过线与逻辑,总线上表现出来的为0,这时候节点会有一个。在早期车上的电控单元较少的时候,ECU采用的是点对点(point-to-point)的连接方式,即需要进行通讯的ECU之间采用硬线进行直接连接,专线专用,如下图所示。,Node A在回读时发现自己发送的1,但是总线上为0,所以这时Node A会停止发送,由发送节点变为接收节点,开始接收总线上发送的数据。

2023-04-24 15:27:13 11936 13

原创 汽车诊断中常说的DTC是什么?

DTC的全称是Diagnostic Trouble Code,即诊断故障码,它是由车载诊断系统识别的故障状态的数字通用标识符。

2022-12-30 17:29:30 16306 4

原创 UDS(ISO 14229-1)-0x22(Read Data By Identifier,通过ID读数据)

ReadDataByIdentifier positive消息使用此参数向客户端提供请求的数据记录值。本文档中未定义 dataRecord 的内容,并且特定于车辆制造商。

2022-12-23 15:27:41 439

原创 UDS(ISO14229 - 1 )-0x11(ECUReset ,ECU重启服务)

Negative Response 的SID使用0x7F表示,这是由协议统一规定的,任何服务的负响应的SID都为0x7F。执行的操作是特定于实现的,而不是由标准定义的。执行的操作是特定于实现的,而不是由标准定义的。执行的操作是特定于实现的,而不是由标准定义的。同样的这里的SID = 请求服务的SID(0x11)+40即0x51,第二位为子服务,第三位为下电时间(Request :11 00 (如果00未被具体的实现所定义)),指示服务器将保留在断电序列中的备用序列的最短时间。

2022-12-09 13:41:06 466 2

原创 UDS 之服务描述约定(内含suppressPosRspMsgIndicationBit,NRC讲解)

UDS 之服务描述约定

2022-12-08 11:22:38 1408 3

原创 Java多线程的理解

Java多线程1.基本概念:程序,进程,线程2.线程的创建和使用2.1 多线程的创建方式一:继承Thread类方式问题:方式二:实现Runnable接口两种创建线程的方式比较:2.2 多线程的使用(Thread类的有关方法)2.2.1 测试Thread中的常用方法:2.2.2 线程的优先级:2.2.3 如何获得和设置当前线程的优先级3.线程的生命周期4.线程的同步5.线程的通信1.基本概念:程序,进程,线程程序(program):是为完成特定任务,用某种语言编写的一组指令的集和。即指一段静态的代码,

2022-12-08 09:16:44 101

原创 UDS(ISO14229 - 1)-0x10(Session Control,诊断会话控制)

UDS(ISO14229)-0x10(诊断会话控制)

2022-12-01 16:04:08 472

原创 C++ ---sort函数的使用(包含和结构体的结合使用)

1. sort函数的使用1.1 sort函数的一般使用头文件:#include <algorithm>#include<iostream>#include<algorithm>//加头文件using namespace std;//按照从大到小进行排序bool cmp(const int &a,const int &b){ return a>b;}int main(){ int num[]={3,0,12,6

2021-09-08 17:39:01 352

原创 OJ题 身份证排序(C语言版)

问题描述 :  安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码从小到大进行排序。身份证号码为18位的数字组成,出生日期为第7到第14位  解题思路:整个思路很简单,就是把生日截取出来,先比较;生日相同的话再比较整个字符串。另外再注意一下题目要求,是从大到小还是从小到大,根据需要改变排序就行了!找了很久没找到C语言版本,添加一个!输入说明 :  第一行一个整数n,表示有n个身份证号码(身份证号18位,包含特殊字符X )  余下的n行,

2021-08-24 17:43:14 3376 2

原创 Abstract关键字的使用

Abstract关键字的使用:1. abstract:抽象的2.abstract可以用来修饰的结构:类、方法3.abstract修饰类:抽象类此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作4.abstract修饰方法:抽象方法抽象方法只有方法的声明,没有方法体包含抽象方法的类,一定是个抽象类。反之,抽象类中可以没有抽象方法若子类重写了父类中的所有抽象方法后,此子类可实例化若子类

2021-03-24 20:44:19 326

原创 面向对象特征三:多态性

面向对象特征三:多态性一、多态性是什么?二、多态的使用1.虚拟方法调用2.多态性的使用前提3.多态性的限制总结:方法的重载与重写一、多态性是什么?子类的对象赋给父类的引用可以理解为一个事物的多种形态。public class PersonTest { public static void main(String[] args) { Person p1 = new Person(); p1.age = 34; p1.name = "熊"; Man man = new M

2021-03-19 11:57:23 98

原创 面向对象特征之二:继承性

面向对象特征之二:继承性(inheritance)一、继承的好处:二、继承性的格式:class A extends B{}三、子类继承父类以后有哪些不同?四、Java中关于继承性的规定:五、java.lang.Object类的理解一、继承的好处:减少代码的冗余,提高了代码的复用性便于功能的扩展为之后多态性的使用提供了前提二、继承性的格式:class A extends B{}A:子类,派生类,subclassB:父类,超类,基类,superclass三、子类继承父类以后有哪些不同

2021-03-18 15:56:50 145

原创 构造器的基本理解

面向对象文章目录面向对象构造器的基本理解总结构造器的基本理解1.构造器的作用:创建对象2.说明:如果没有显示的定义类的构造器的话,则系统默认提供一个空参的构造器定义构造器的格式:权限修饰符 类名(形参列表)一个类中定义的多个构造器,彼此重载一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空构造器了下面展示一些 代码示例。public class PersonTest { public static void main(String[] args) { //创建类

2021-03-16 11:32:08 115 2

原创 面向对象特征之一:封装和隐藏

文章目录一、面向对象特征之一:封装和隐藏2.读入数据二、权限修饰符一、面向对象特征之一:封装和隐藏1.为什么需要封装?封装的作用和含义?我要用洗衣机,只需要会操作即可,没必要了解洗衣机内部的结构,没必要碰电动机2.我们程序设计追求“高内聚,低耦合”高内聚:类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅对外暴露少量的方法用于使用。3.封装性的设计思想:隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的课扩展性,可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴

2021-03-16 10:53:14 659

原创 Java中的方法(方法的重载和可变形参的方法)

Java中的方法1.方法的重载1.1重载的概念在同一个类中,允许存在一个以上的同名的方法,只要它们的参数个数或者参数类型不同即可。“两同一不同”:同一个类,相同方法名参数列表不同:参数个数不同,参数类型不同1.2重载的特点与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或者参数类型)。调用时,根据方法参数列表的不同来区别。1.3重载示例//如下4个方法构成了重载 public void getSum(int i,int j) {} public void getSum(d

2021-03-15 20:02:06 140

原创 怎么理解面向对象编程思想(万事万物皆对象)?

一、怎么理解面向对象编程思想(万事万物皆对象)?1.在Java语言范畴中,我们都将功能,结构等封装到类中,通过类的实例化,来调用具体的功能结构2.涉及到Java语言与前端Html,后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类,对象。...

2021-03-12 11:00:56 681 1

原创 JAVA循环结构的使用

循环结构使用:一,循环结构的4要素1.初始化条件2.循环条件-----boolean类型3.循环体4.迭代条件For循环的结构:for(1;2;4){3}1–>2–>3–>4public class Main { public static void main(String[] args) { int sum=0; for(int i = 1;i <= 100;i++){ if(i % 2 ==

2020-11-19 17:06:29 151

原创 JAVA位运算和三元运算

package com.company;public class Main { public static void main(String[] args) { //练习:交换两个变量的值 int num1 = 10; int num2 = 20; //定义临时变量 int temp = num1; num1 = num2; num2 = temp; //相加操作可.

2020-11-19 14:31:19 77

原创 JAVA中的逻辑运算

class LogicTest{ public static void main(String[] args){ //区分& 与 && //相同点1:& 与 &&运算结果相同 //相同点2:当符号左边是true时,二者都会执行符号右边的运算 //不同点:当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算。 //开发中,推荐使用&& boolean b1 = false; .

2020-11-19 11:08:52 212

原创 String类型变量的使用和进制表示

String类型变量的使用和进制表示1.String属于引用数据类型,翻译为:字符串class StringTest{ public static void main(String[] args){ String s1 = "Hello World!"; System.out.println(s1); String s2 = "a"; String s3 = ""; }}2.声明String类型变量时,使用一对" "3.String可以和8种基本类型做运算,运算结果仍为Str

2020-11-17 10:29:18 465

原创 JAVA学习------语法

JAVA基本语法变量与运算符变量与运算符JAVA基本语法一、标识符1.标识符:凡是自己可以起名字的地方都叫标识符。2.标识符的运算规则:---->如果不遵守,编译不通过!二、Java中的命名规范1.Java中的命名规范2.变量1.变量的概念2.变量的使用3.变量的类型1. 按数据类型分类2. 按声明的位置不同类型分类4.变量的使用1. 整数类型2. 浮点类型一、标识符1.标识符:凡是自己可以起名字的地方都叫标识符。比如:类名,变量名,方法名,接口名,包名…2.标识符的运算规则:----&

2020-11-16 17:24:34 100

原创 学习笔记------JAVA注释

@JAVA学习笔记----JAVA的三种注释单行注释,多行注释,文档注释1.java规范的三种注释方式:单行注释 //多行注释 /**/文档注释(java特有)2.单行注释和多行注释的作用(1)对所写的程序进行解释说明,增强可读性。(2)调试所写的代码。3.特点:单行注释和多行注释,注释的内容不参与编译,也就是说编译以后生成的.class结尾的字节码文件中不包含注释掉的信息。4.文档注释的使用文档注释的注释内容可以被JDK提供的工具javadoc 所解析,生成一套以网页文件形式

2020-08-28 15:17:18 162 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除