AUTOSAR ComM模块配置以及代码

ComM模块配置以及代码执行流程

1、基本的一个通道的配置列表

在这里插入图片描述
ComMNmVariant 概念的个人理解:
FULL: 完全按照AUTOSAR NM方式进行调用
LIGHT :设置一个超时时间,在请求停止通信的时候开始计时,超时之后才会进入FULLCOM_ReadySleep状态。
NONE:设置一个超时时间,通常设置成很小的一个数,这个代码的实现我理解是ECU上电的一个时间,如果设置成10分钟,那在ECU上电初始化后的10分钟以内请求NOCOM是无效的,所以正常情况下用不到这个就不用设置那么大。

2、生成的对应的通道的代码
ComMNmVariant_en = FULL
NmLightTimeout_u32 = 200
TMinFullComModeDuration_u16 = 1
在这里插入图片描述
3、ComM_RequestComMode
在这里插入图片描述
在这个函数里面读取原来的用户的模式请求,并且存储当前的用户模式请求,如果用户模式发生了变化,就会更新成当前的请求。
在这里插入图片描述

4、ComM_Prv_UpdateUserRequest
如果是 COMM_FULL_COMMUNICATION,则RequestCounter++;
如果是COMM_NO_COMMUNICATION,则 RequestCounter–;
而且这两个要按对使用。 ,否则会报DET错误。
在这里插入图片描述
5、ComM_Prv_ChannelMainFunction
ComM对应的通道的主函数
在这里插入图片描述
初始化时

在这里插入图片描述

channelState_en = channelRamPtr_pst->ChannelState_e = COMM_NO_COM_NO_PENDING_REQUEST;

channelMode_tu8 = channelRamPtr_pst->ChannelMode_u8 = COMM_NO_COMMUNICATION ;busSmMode_tu8 = channelRamPtr_pst->BusSmMode_u8 = COMM_NO_COMMUNICATION;previousstate_en = channelState_en;

在这里插入图片描述
6、ComM_Prv_ModeHandling
第一次调用entryToMode_b = FALSE
获取当前busSM状态,如果不一致产生RequestBusSm请求,第一次时都属于NOCOM状态,不执行任何东西,第一次正常退出。
在这里插入图片描述
在这里插入图片描述
7、ComM_Prv_NoComNoPending_StateHandling
channelState_en = COMM_NO_COM_REQUEST_PENDING

在这里插入图片描述

在这里插入图片描述
8、ComM_Prv_NoComPending_StateHandling
假设已经在allow之后,channelState_en = COMM_FULL_COM_NETWORK_REQUESTED
在这里插入图片描述
9、ComM_Prv_FullComNetworkReq_StateHandling
如果ComM为FULL通道,这个时候发起网络其请求,如果时NONE,才存储当前的TMinFullComModeDuration_u16时间。
在这里插入图片描述
10、切换到FULLCOM
在这里插入图片描述
11、请求BusSm进入FullCom状态
ComM_Prv_ModeHandling
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web之CSS悬停效果页面设计

参考小米商城的“手机”页面&#xff0c;做出一个“手机”的标签&#xff0c;实现当鼠标悬停在“手机”上时&#xff0c;出现手机系列菜单&#xff1b;当鼠标移走时&#xff0c;菜单页面消失的效果&#xff01; 参考图&#xff1a; 实现代码&#xff1a; <!DOCTYPE html&g…

基于双目RGB图像和图像深度信息的三维室内场景建模matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 双目视觉原理 4.2 深度信息获取 4.3 表面重建 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .....................................…

【Android开发-27】Android中位置服务GPS的用法详解

1&#xff0c;获取定位经纬度 在Android中&#xff0c;获取位置信息通常需要使用LocationManager类。以下是一个简单的示例&#xff0c;展示了如何使用LocationManager获取设备的位置信息&#xff1a; 首先&#xff0c;需要在AndroidManifest.xml文件中添加以下权限&#xff…

[Kafka 常见面试题]如何保证消息的不重复不丢失

文章目录 Kafka1. Kafka如何保证不丢失消息&#xff1f;生产者数据的不丢失消费者数据的不丢失Kafka集群中的broker的数据不丢失 2. Kafka中的消息是否会丢失和重复消费&#xff1f;1. 消息发送2. 消息消费 3. Kafka 的设计是什么样的呢&#xff1f;4. 数据传输的事务定义有哪三…

[Java][方法引用]构造方法的引用事例分析

/*以上就是我们采用map方法new Function(有两个形参 一个传入一个传出)apply方法接受参数并且返回一个Student类型 最后封装成List集合再用Iterator迭代器进行遍历的一个操作流程 但是我们不禁思考这样做真的便捷吗 我们尝试把map内的代码放到JavaBean Student中去 再考虑问题*…

接口测试--参数实现MD5加密签名规则

最近有个测试接口需求&#xff0c;接口有签名检查&#xff0c;签名规范为将所有请求参数按照key字典排序并连接起来进行md5加密&#xff0c;格式是&#xff1a;md5(bar2&baz3&foo1),得到签名&#xff0c;将签名追加到参数末尾。由于需要对参数进行动态加密并且做压力测…

2023年度佳作:AIGC、AGI、GhatGPT、人工智能大语言模型的崛起与挑战

目录 前言 01 《ChatGPT 驱动软件开发》 内容简介 02 《ChatGPT原理与实战》 内容简介 03 《神经网络与深度学习》 04 《AIGC重塑教育》 内容简介 05 《通用人工智能》 目  录 前言 2023年是人工智能大语言模型大爆发的一年&#xff0c;一些概念和英文缩写也在这一…

vue3组件注册

注册 一个 Vue 组件在使用前需要先被“注册”&#xff0c;这样 Vue 才能在渲染模板时找到其对应的实现。组件注册有两种方式&#xff1a;全局注册和局部注册。 1. 全局注册组件&#xff1a; 在 Vue 3 中&#xff0c;可以使用createApp方法创建一个应用实例&#xff0c;并使用…

基于ssm物流管理系统论文

摘 要 本物流管理系统设计目标是实现物流的信息化管理&#xff0c;提高管理效率&#xff0c;使得物流管理作规范化、科学化、高效化。 本文重点阐述了物流管理系统的开发过程&#xff0c;以实际运用为开发背景&#xff0c;基于SSM框架&#xff0c;运用了Java编程语言和MYSQL数…

事件对象如何使用

在 JavaScript 中&#xff0c;事件对象主要用于事件处理函数&#xff0c;以获取有关事件的详细信息或控制事件的行为。以下是一些常见的使用场景&#xff1a; 获取事件的详细信息 事件对象包含了与事件相关的各种信息&#xff0c;你可以在事件处理函数中访问这些信息。例如&a…

Azure Machine Learning - 提示工程简介

OpenAI的GPT-3、GPT-3.5和GPT-4模型基于用户输入的文本提示工作。有效的提示构造是使用这些模型的关键技能&#xff0c;涉及到配置模型权重以执行特定任务。这不仅是技术操作&#xff0c;更像是一种艺术&#xff0c;需要经验和直觉。本文旨在介绍适用于所有GPT模型的提示概念和…

Ubuntu 常用命令之 chmod 命令用法介绍

chmod是Linux系统下的一个命令&#xff0c;用于改变文件或目录的权限。它的名称是“change mode”的缩写。在Linux中&#xff0c;文件或目录的权限分为读&#xff08;r&#xff09;、写&#xff08;w&#xff09;和执行&#xff08;x&#xff09;三种&#xff0c;分别对应数字4…

【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (2) -集群 前言 在对Databricks有了初步了解之后&#xff0c;如果要深入使用则需要对其进行更深层次的了解。 Databricks ADB 是一个统一的…

Debezium发布历史08

原文地址&#xff1a; https://debezium.io/blog/2016/08/16/Debezium-0-2-4-Released/ Debezium 0.2.4 发布 八月 16, 2016 作者&#xff1a; Randall Hauch 发布 mysql docker 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#x…

os功能模板

【 一 】简介 os 就是 “operating system” 的缩写&#xff0c;顾名思义&#xff0c;os 模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用 os 模块&#xff0c;一方面可以方便地与操作系统进行交互&#xff0c;另一方面页可以极大增强代码的可移植性。如果该…

全国职业院校技能大赛“大数据应用开发”赛项说明

1、赛项介绍 &#xff08;1&#xff09;赛项名称 全 国 职 业 院 校 技 能 大 赛 “大数据应用开发” 赛 项 职业院校技能大赛官网 (vcsc.org.cn)https://www.vcsc.org.cn/ 大赛组织机构介绍 全国职业院校技能大赛(以下简称大…

【数据结构】八大排序之希尔排序算法

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 一.优化直接插入排序算法 我们在之前对直接插入排序算法的优化部分通过对直接插入排序的分析可以得到一个结论,即: 进行直接插入排序的数组,如果越接近局部有序,则后续进行直…

电脑技巧:笔记本电脑保养技巧诀,让你的电脑多用几年

新到手的宝贝笔记本电脑爱不释手&#xff0c;要想它长久的陪伴&#xff0c;平时的维护与保养自然不能少&#xff0c;今天小编给大家分享一下&#xff0c;如何保养和维护笔记本的各个部件。 一、电 池 电池是笔记本实现移动办公的重要部件&#xff0c;电池状况直接影响了电池的…

最完整的Web视频加密播放技术实现(含技术调研和Demo源码)

大厂技术 高级前端 Node进阶 点击上方 程序员成长指北&#xff0c;关注公众号 回复1&#xff0c;加入高级Node交流群 作者&#xff1a;然燃 &#xff08;感谢小伙伴投稿分享&#xff09;原文链接: https://juejin.cn/post/7307934456995856419 最近又遇到了web视频化的场景&a…

Axure动态面板的使用

一. 动态面板 Axure动态面板是Axure RP软件中的一个功能模块&#xff0c;用于创建交互式原型和模拟应用程序的动态效果。它可以模拟用户在应用程序中的操作流程&#xff0c;并展示不同状态之间的变化&#xff0c;提供更真实的用户体验。通过创建不同的状态和添加交互效果&…