ARXML处理 - C#的解析代码(二)

2024-04-09 03:13

本文主要是介绍ARXML处理 - C#的解析代码(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 参数类

参数容器(ECUCPARAMCONFCONTAINERDEF)的PARAMETERS集合类由以下参数类实例构成。

枚举参数(ECUCENUMERATIONPARAMDEF )

配置一个下拉选项,如PORT中一个pin可以配置SPI, CAN, PWM

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-ENUMERATION-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCENUMERATIONPARAMDEF {      /// <remarks/>[System.Xml.Serialization.XmlElementAttribute("DEFAULT-VALUE")]public IDENTIFIER DEFAULTVALUE {get {return this.dEFAULTVALUEField;}set {this.dEFAULTVALUEField = value;}}/// <remarks/>[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable=false)]public ECUCENUMERATIONLITERALDEF[] LITERALS {get {return this.lITERALSField;}set {this.lITERALSField = value;}}}

DEFAULTVALUE :默认值,其他参数类也有该属性

LITERALS : 枚举列表

整型参数 (ECUCINTEGERPARAMDEF)

整数参数,如CanIfRxPduId可以配成3。

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-INTEGER-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCINTEGERPARAMDEF {/// <remarks/>[System.Xml.Serialization.XmlElementAttribute("WITH-AUTO")]public BOOLEAN WITHAUTO {get {return this.wITHAUTOField;}set {this.wITHAUTOField = value;}}/// <remarks/>public UNLIMITEDINTEGERVALUEVARIATIONPOINT MAX {get {return this.mAXField;}set {this.mAXField = value;}}/// <remarks/>public UNLIMITEDINTEGERVALUEVARIATIONPOINT MIN {get {return this.mINField;}set {this.mINField = value;}}}

MAX: 整型的可配置最大值

MIN: 整型的可配置最小值

WITHAUTO :参数类基本都有,在整型里可以设置为TRUE,这样可以让配置工具自动对一些属性编号,如非常常见的 HandleId

浮点参数(ECUCFLOATPARAMDEF)

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-FLOAT-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCFLOATPARAMDEF {/// <remarks/>public FLOATVALUEVARIATIONPOINT MAX {get {return this.mAXField;}set {this.mAXField = value;}}/// <remarks/>public FLOATVALUEVARIATIONPOINT MIN {get {return this.mINField;}set {this.mINField = value;}}}

MAX: 浮点的可配置最大值

MIN: 浮点的可配置最小值

布尔参数(ECUCBOOLEANPARAMDEF)

如CanIfVersionInfoApi,可以设置TRUE为使能

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-BOOLEAN-PARAM-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCBOOLEANPARAMDEF {}

函数参数(ECUCFUNCTIONNAMEDEF)

常用来自定义回调函数名,字符串类型;ECUCSTRINGPARAMDEF, ECUCLINKERSYMBOLDEF用法类似

    /// <remarks/>[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")][System.SerializableAttribute()][System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Xml.Serialization.XmlTypeAttribute(TypeName="ECUC-FUNCTION-NAME-DEF", Namespace="http://autosar.org/schema/r4.0")]public partial class ECUCFUNCTIONNAMEDEF {/// <remarks/>[System.Xml.Serialization.XmlElementAttribute("SHORT-NAME")]public IDENTIFIER SHORTNAME {get {return this.sHORTNAMEField;}set {this.sHORTNAMEField = value;}}

SHORTNAME : 这个属性基本很多类里面都有,后续会经常使用到这个信息。

这篇关于ARXML处理 - C#的解析代码(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887046

相关文章

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

Java堆转储文件之1.6G大文件处理完整指南

《Java堆转储文件之1.6G大文件处理完整指南》堆转储文件是优化、分析内存消耗的重要工具,:本文主要介绍Java堆转储文件之1.6G大文件处理的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言文件为什么这么大?如何处理这个文件?分析文件内容(推荐)删除文件(如果不需要)查看错误来源如何避

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会