西安做搭建网站,大气好寓意的广告公司名字,营销网站中最重要的部分是,wordpress取消邮箱验证ComM模块配置以及代码执行流程
1、基本的一个通道的配置列表 ComMNmVariant 概念的个人理解#xff1a; FULL#xff1a; 完全按照AUTOSAR NM方式进行调用 LIGHT #xff1a;设置一个超时时间#xff0c;在请求停止通信的时候开始计时#xff0c;超时之后才会进入FULLCOM…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