Bootstrap

Autosar Dcm开发-诊断2E或31服务实现pending功能

前言

项目开发过程中,有需求在31服务(Routine)收到请求时,等待应用层反馈执行完后再进行响应。所以pending一段时间,本文介绍该功能的实现。

Dcm规范

以Routine为例,其服务包含以下返回状态
在这里插入图片描述
0:E_OK,服务成功执行

1:E_NOT_OK,服务执行失败

10:DCM_E_PENDING,服务未完成,需要继续请求

12:DCM_E_FORCE_RCRRP,应用层请求回复NRC 0x78

如果返回E_NOT_OK,一般还需要返回对应的否定响应码(NRC)

DCM_E_PENDING即为本文需求需要实现的返回值

DCM_E_PENDING和DCM_E_FORCE_RCRRP的区别:

当返回DCM_E_PENDING时,若P2Server还未达到设定返回NRC78的时间

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;