- 博客(15)
- 收藏
- 关注
原创 Canoe 上位机下载流程修改说明
4.2.3 对于22,27,28,2E, 31等支持多个子服务号或DID的诊断服务,在服务函数定义处应注意配置当前BT所支持的子服务号或DID,例如对于27服务,若当前BT支持27 01 和27 02,如下图所示,在Service_SecurityAccess()函数中,必须要有sub = 0x01和sub = 0x02的选项,其他服务类似,特别关注22,2E服务的DID和 31服务的SUBID.OSEKTL_SetFixedST(0),即设置STmin为0;
2024-05-30 10:24:44
834
原创 BootLoader总结
一个信息完整的在TP层被接受之后,再往上会进入BT的DCM层,DCM层主要完成的功能是UDS14229的诊断服务,比如接收到一个完整的信息,这个信息到底表示的什么意思,需要满足UDS诊断协议的DCM层来解析数据,比如这个完整的信息是1003服务还是1002服务,以及27,2E、36,37等等各种服务,需要DCM层来解析,解析完了之后会对这些信息进行一些判断,对合不合法,长度等判断完了之后,会做出一个响应。对于新的MCU芯片,BT开发的过程主要是将对应的硬件层功能函数,填充到对应的交互接口层;
2024-05-30 09:46:34
968
1
原创 UDS诊断服务详解
数据记录值的格式和定义应该由车辆制造厂商或者系统供应商所指定,这些数据记录值可能会包含模拟量输入和输出信号,数字输入和输出信号,内部数据和系统状态信息。服务端可能会先同时请求的数据标识符数量,首先需要由车辆制造厂商和系统供应商商讨决定。一旦收到了0x22服务的请求消息,服务端应该访问由数据标识符参数指定数据元素几率之,并且在单个22服务肯定应答报文中去传输他们的值。请求报文中可能会多次包含同一个DID值,服务端应该将这些重复的DID看作独立的DID并答复。
2024-02-04 10:29:07
8211
3
原创 UDS中的DID(Data identification)
DID是UDS中的一个重要概念,。,如传感器数据、状态信息等等。通过使用DID,诊断工具可以准确地获取所需的数据,从而帮助诊断人员更好地了解车辆的状态和性能。每个DID都对应着车辆的某个特定数据项。DID在车辆诊断中的应用场景广泛。比如,通过读取特定的DID,。此外,
2024-02-02 14:34:22
1836
原创 标准库类型string
/1. 默认初始化 string s1;//s1是一空串//s2//等价于s2(s1);//4.//s3是字面值"value"的副本,出了字面值最后的哪个空字符外//5.//等价于s3("value"),s3是字面值"value"的副本//6.//把s4初始化为由连续n个字符c组成的串。
2023-08-22 08:30:52
139
1
原创 C++类和对象上
语法:class/struct 类名 {访问权限(下面介绍): 属性(成员变量)/行为(成员函数)};//一定注意不要忘记有分号 实际上还是定义变量类型在成员函数在类内是实现(声明和定义在一起)需要注意的是:成员函数如果在类内中定义,编译器可能将其当成内敛函数处理。public ://成员函数 void Init(int n = 4) //定义缺省值参数 {exit(- 1);} a = tmp;top = 0;} //成员变量 private :int * a;int top。
2023-07-19 19:59:20
398
2
原创 C++入门--引用
以值作为参数或者返回值类型,在传参和返回期间,函数不会直接传递实参或者将变量本身直接返回,而是传递实参或者返回变量的一份临时的拷贝,因此用值作为参数或者返回值类型,效率是非常低下的,尤其是当参数或者返回值类型非常大时,效率就更低。:引用不是定义一个新的变量,而是给已经存在的变量去一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量公用同一块内存空间。由上图所示:b作为a的引用,它和a的地址是相同。上引用就是一个别名,没有独立的空间,和引用实体是公用一块空间的。如上图所示,引用做参数和指针类似。
2023-07-18 10:59:40
152
1
原创 数据结构排序总结
技术排序在数据范围集中的时候,效率很高,但是使用范围以及场景有限。时间复杂度:O(MAX(N,范围))空间复杂度:O(范围) //一般都是范围大稳定性:稳定。
2023-07-14 15:53:20
489
1
原创 线性表---顺序表
(1)顺序表: 本质上就是数组,但是,可以动态增长,并且要求顺序表里面存储的数据必须是从左往右连续的.(2)我们可以看到数组和顺序表其实是很相似的,那么使用数组和顺序表有什么区别呢?数组和顺序表都是数据结构中的基础数据结构,它们的实现方式和特点略有不同。实现方式不同数组是一段连续的内存空间,这段内存空间的大小在创建数组时确定,数组中的每个元素都可以通过下标访问,访问和操作元素的时间复杂度均为 O(1)。数组的实现足够简单,不需要额外的指针变量,但是容量不能动态扩展。
2023-06-14 21:26:32
564
原创 线性表--顺序表
/静态顺序表的定义 使用定长数组存储元素 # define N 10 //好修改数组大小 typedef strcut Seqlist {int size;//记录存储多少个有效数据 写死了 } SL;10//静态顺序表的定义 使用定长数组存储元素 # define N 10 //好修改数组大小 typedef strcut Seqlist {int size;//记录存储多少个有效数据 写死了 } SL;
2023-06-06 21:06:47
465
1
基于ace-urcp-retinex的水下图像增强代码
2023-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人