代码拉取完成,页面将自动刷新
void Dcm_Init (const Dcm_ConfigType* ConfigPtr)
名称 | Dcm_Init | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 非可重入 | |||
输入参数 | ConfigPtr | 指向 Variant Post-Build 中配置的指针 | ||
输出参数 | None | |||
返回值 | None | |||
描述 | 用于 DCM 模块基本初始化的服务 | |||
声明 | Dcm.h |
void Dcm_MainFunction (void)
名称 | Dcm_MainFunction | |
---|---|---|
输入参数 | None | |
输出参数 | None | |
返回值 | None | |
描述 | 此服务用于处理主循环的任务 | |
声明 | SchM_Dcm.h |
void Dcm_GetVersionInfo (Std_VersionInfoType* versionInfo)
名称 | Dcm_GetVersionInfo | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | None | |||
输出参数 | versionInfo | 指向存储此模块的版本信息的指针 | ||
返回值 | None | |||
描述 | 返回此模块的版本信息 | |||
声明 | Dcm.h |
Std_ReturnType Dcm_DemTriggerOnDTCStatus (uint32 DTC,
Dem_UdsStatusByteType DTCStatusOld,
Dem_UdsStatusByteType DTCStatusNew)
名称 | Dcm_DemTriggerOnDTCStatus | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | DTC | 这是分配给变更触发器的 DTC | ||
DTCStatusOld | 变更前的 DTC 状态 | |||
DTCStatusNew | 变更后的 DTC 状态 | |||
输出参数 | None | |||
返回值 | None | |||
描述 | 触发 UDS 状态字节的变化。允许在 DTCStatusChanged 上触发子服务的 ROE 事件 | |||
声明 | Dcm_Dem.h |
Std_ReturnType Dcm_GetVin (uint8* Data)
名称 | Dcm_GetVin | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | None | |||
输出参数 | Data | 指向存储 VIN 的指针 | ||
返回值 | Std_ReturnType | E_OK: 数据指针已填入有效的VIN | E_NOT_OK: 默认的 VIN 将在 DoIP 中使用 | ||
描述 | 获取 VIN 的函数(在 SAE J1979-DA 中定义) | |||
声明 | Dcm.h |
void Dcm_BndMWriteBlockFinish ( BndM_BlockIdType BlockId, BndM_ResultType result)
名称 | Dcm_BndMWriteBlockFinish | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 非可重入 | |||
输入参数 | BlockId | - | ||
result | - | |||
输出参数 | None | |||
返回值 | None | |||
描述 | 由 BndM 调用,指示块写操作已经完成 | |||
声明 | Dcm.h |
Std_ReturnType Dcm_SetDeauthenticatedRole (uint16 connectionId,
Dcm_AuthenticationRoleType deauthenticatedRole)
名称 | Dcm_SetDeauthenticatedRole | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | connectionId | 唯一连接标识符,标识为其设置了取消身份验证角色的连接 | ||
deauthenticatedRole | 分配给该连接的新的未认证角色 | |||
输出参数 | None | |||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 为该连接设置在未验证状态下使用的新角色。在连接切换到身份验证状态或 ECU 被重置之前,角色一直有效 | |||
声明 | Dcm.h |
Std_ReturnType Dcm_GetSecurityLevel (Dcm_SecLevelType* SecLevel)
名称 | Dcm_GetSecurityLevel | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | None | |||
输出参数 | SecLevel | SecurityLevel = (SecurityAccessType + 1) / 2, SecurityAccessType 的内容根据 SecurityAccess 服务请求中的 “SecurityAccessType” 参数而定 | ||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 该函数提供激活的安全级别值 | |||
声明 | Dcm.h |
Std_ReturnType Dcm_GetSesCtrlType (Dcm_SesCtrlType* SesCtrlType)
名称 | Dcm_GetSesCtrlType | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | None | |||
输出参数 | SesCtrlType | 该值由 DiagnosticSessionControl 服务请求中的 "diagnosticSessionType" 的参数而定 | ||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 该函数提供活动的会话控制类型值 | |||
声明 | Dcm.h |
Std_ReturnType Dcm_ResetToDefaultSession (void)
名称 | Dcm_ResetToDefaultSession | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | None | |||
输出参数 | None | |||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 调用此函数允许应用程序将当前会话重置为默认会话。示例:超出速度限制时自动终止扩展诊断会话 | |||
声明 | Dcm.h |
Std_ReturnType Dcm_SetActiveDiagnostic (boolean active)
名称 | Dcm_SetActiveDiagnostic | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | active | 如果为 false, Dcm 将不调用 ComM_DCM_ActiveDiagnostic()。如果为 true, Dcm 将调用 ComM_DCM_ActiveDiagnostic() | ||
输出参数 | None | |||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 允许激活和取消激活 ComM_DCM_ActiveDiagnostic() 函数的调用 | |||
声明 | Dcm.h |
DCM 提供的回调的概述
BufReq_ReturnType Dcm_StartOfReception (PduIdType id,
const PduInfoType* info,
PduLengthType TpSduLength,
PduLengthType* bufferSizePtr)
名称 | Dcm_StartOfReception | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | id | I-PDU 的标识 | ||
info | PduInfoType 结构指针,包含传输协议 I-PDU 接收的第一帧或单帧的有效载荷数据(不含协议信息)和有效载荷长度,以及与该 PDU 相关的元数据。如果第一帧/单帧数据和元数据都不可用,该参数设置为 NULL_PTR | |||
TpSduLength | 接收 N-SDU 的总长度 | |||
输出参数 | bufferSizePtr | 接收模块中可用的接收缓冲区。该参数将用于计算传输协议模块中的块大小(BS) | ||
返回值 | BufReq_ReturnType | BUFREQ_OK: 连接已被接受。bufferSizePtr 表示可用的接收缓冲区; 接收仍在继续。如果没有请求大小的缓冲区可用,则 bufferSizePtr 指向的接收缓冲区大小为 0; | BUFREQ_E_NOT_OK: 连接已被拒绝;接收中止。bufferSizePtr 保持不变; | BUFREQ_E_OVFL: 不能提供所需长度的缓冲器; 接收中止。bufferSizePtr 保持不变 | ||
描述 | 该函数在开始接收 N-SDU 时调用。N-SDU 可能被分割成多个 N-PDU (FF和一个或多个CF),也可能由单个 N-PDU (SF) 组成。如果服务成功并且返回 BUFREQ_OK,则服务提供当前可用的最大缓冲区大小。这个函数可能在中断上下文中被调用 | |||
声明 | Dcm.h |
BufReq_ReturnType Dcm_CopyRxData (PduIdType id,
const PduInfoType* info,
PduLengthType* bufferSizePtr)
名称 | Dcm_CopyRxData | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | id | 接收到的 I-PDU 的标识 | ||
info | 提供源缓冲区(SduDataPtr)和要复制的字节数(SduLength)。当 SduLength 为 0 时,表示上层模块当前可用缓冲区的大小异常,在这种情况下,SduDataPtr 可能是一个 NULL_PTR | |||
输出参数 | bufferSizePtr | 复制数据后可用的接收缓冲区 | ||
返回值 | BufReq_ReturnType | BUFREQ_OK: 数据复制成功 | BUFREQ_E_NOT_OK: 由于发生错误,数据没有复制 | ||
描述 | 调用该函数是为了向上层提供 I-PDU(N-PDU) 段的接收数据。每次调用该函数都提供 I-PDU 数据的下一部分。剩余缓冲区的大小被写入 bufferSizePtr 所指向的位置。这个函数可能在中断上下文中被调用 | |||
声明 | Dcm.h |
void Dcm_TpRxIndication (PduIdType id, Std_ReturnType result)
名称 | Dcm_TpRxIndication | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | id | 接收到的 I-PDU 的标识 | ||
result | 接收结果 | |||
输出参数 | None | |||
返回值 | None | |||
描述 | 在通过 TP 层 API 接收到 I-PDU 后调用,结果表明传输是否成功。这个函数可能在中断上下文中被调用 | |||
声明 | Dcm.h |
BufReq_ReturnType Dcm_CopyTxData (PduIdType id,
const PduInfoType* info,
const RetryInfoType* retry,
PduLengthType* availableDataPtr)
名称 | Dcm_CopyTxData | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | id | 发送 I-PDU 的标识 | ||
info | 提供目标缓冲区(SduDataPtr)和要复制的字节数(SduLength)。如果传输数据不足,上层模块不拷贝数据,返回 BUFREQ_E_BUSY。下层模块可能会重试该调用。 SduLength 为 0 时,表示重试参数状态发生变化,或查询上层模块当前可用数据量。在这种情况下,SduDataPtr 可能是一个 NULL_PTR | |||
retry | 该参数用于确认已传输的数据或在传输出现问题后重新传输数据。如果重试参数为 NULL_PTR,则表示传输数据在复制完成后可以立即从缓冲区中删除。否则,retry 参数必须指向一个有效的 RetryInfoType 元素。如果 RetryInfoType 结构中的元素 TpDataState 为 TP_CONFPENDING,则先前复制的数据必须保留在 TP 缓冲区中,以便可以用于错误恢复。TP_DATACONF 表示在确认调用之前已经复制的所有数据,可以从 TP 缓冲区中删除,此 API 调用复制的数据将被排除在外,稍后将进行确认。TP_DATARETRY 表示这个 API 调用应该复制以前复制的数据,以便从错误中恢复。在这种情况下,TxTpDataCnt 表示当前数据拷贝位置的偏移量(以字节为单位) | |||
输出参数 | availableDataPtr | 指示上层模块的 Tx 缓冲区中剩余的可用字节数。支持动态有效载荷长度的 TP 模块(例如 FrIsoTp)可以使用 availableDataPtr 来确定以下 CF(连续帧)的大小 | ||
返回值 | BufReq_ReturnType | BUFREQ_OK: 数据已按要求完全复制到发送缓冲区 | BUFREQ_E_BUSY: 请求无法完成,因为所需的 Tx 数据量不可用。较低层模块可以稍后重试此调用。数据未复制 | BUFREQ_E_NOT_OK: 数据未被复制,请求失败 | ||
描述 | 该函数用于获取 I-PDU (N-PDU)段的发送数据,每次调用这个函数都提供 I-PDU 数据的下一部分,除非 retry->TpDataState 为 TP_ DATARETRY(在这种情况下,函数重新开始复制数据,从 retry->TxTpDataCnt 指示的当前位置的偏移量开始)。剩余数据的大小写入 availableDataPtr 指向的位置。这个函数可能在中断上下文中被调用 | |||
声明 | Dcm.h |
void Dcm_TpTxConfirmation (PduIdType id, Std_ReturnType result)
名称 | Dcm_TpTxConfirmation | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | id | 发送 I-PDU 的标识 | ||
result | 发送 I-PDU 的结果 | |||
输出参数 | None | |||
返回值 | None | |||
描述 | 该函数在 I-PDU 在其网络上发送成功后调用,其结果表明发送是否成功。这个函数可能在中断上下文中被调用 | |||
声明 | Dcm.h |
void Dcm_TxConfirmation ( PduIdType TxPduId, Std_ReturnType result)
名称 | Dcm_TxConfirmation | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 不同的 PduId 可重入。同一 PduId 不可重入 | |||
输入参数 | TxPduId | 已发送的 PDU 的ID | ||
result | E_OK: PDU 已被发送 | E_NOT_OK: PDU 发送失败 | |||
输出参数 | None | |||
返回值 | None | |||
描述 | 下层通信接口模块确认 PDU 发送成功或失败。这个函数可能在中断上下文中被调用 | |||
声明 | Dcm.h |
void Dcm_ComM_NoComModeEntered (uint8 NetworkId)
名称 | Dcm_ComM_NoComModeEntered | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | NetworkId | 模式变更有关的的网络标识符 | ||
输出参数 | None | |||
返回值 | None | |||
描述 | 这个调用通知 Dcm 模块 ComM 模式更改为 COMM_NO_COMMUNICATION | |||
声明 | Dcm_ComM.h |
void Dcm_ComM_SilentComModeEntered (uint8 NetworkId)
名称 | Dcm_ComM_SilentComModeEntered | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | NetworkId | 模式变更有关的的网络标识符 | ||
输出参数 | None | |||
返回值 | None | |||
描述 | 这个调用通知 Dcm 模块 ComM 模式更改为 COMM_SILENT_COMMUNICATION | |||
声明 | Dcm_ComM.h |
void Dcm_ComM_FullComModeEntered (uint8 NetworkId)
名称 | Dcm_ComM_FullComModeEntered | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | NetworkId | 模式变更有关的的网络标识符 | ||
输出参数 | None | |||
返回值 | None | |||
描述 | 这个调用通知 Dcm 模块 ComM 模式更改为 COMM_FULL_COMMUNICATION | |||
声明 | Dcm_ComM.h |
Std_ReturnType Dcm_CsmAsyncJobFinished (Csm_ResultType result)
名称 | Dcm_CsmAsyncJobFinished | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | result | 异步作业的返回值 | ||
输出参数 | None | |||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 在完成异步作业处理后,可以从 Csm 调用。集成器将把这个名字配置为异步作业的 Csm ECUC 配置中的回调函数。只有一个这样的回调函数可用,Dcm 通过计算作业参数来检测已经完成的作业。API 可用性:此函数只有在 ({ecuc(Dcm/DcmDsp/DcmDspAuthentication/DcmDspAuthenticationConnection} != null) 情况下可用 | |||
声明 |
Std_ReturnType Dcm_KeyMAsyncCertificateVerifyFinished ( KeyM_CertificateIdType CertID,
KeyM_CertificateStatusType Result)
名称 | Dcm_KeyMAsyncCertificateVerifyFinished | |||
---|---|---|---|---|
同步/异步 | 同步 | |||
可重入性 | 可重入 | |||
输入参数 | CertID | 已完成验证的证书标识符 | ||
Result | 异步作业的返回值 | |||
输出参数 | None | |||
返回值 | Std_ReturnType | E_OK: 这个值总是被返回 | ||
描述 | 可以在完成异步证书验证时从 Key 调用。集成商将此名称配置为异步作业的KeyM ECUC 配置中的回调函数。只有一个这样的回调可用,Dcm 通过计算 certId 参数来检测已经完成的证书。API 可用性:此函数只有在 ({ecuc(Dcm/DcmDspDcmDspAuthentication/DcmDspAuthenticationConnection} != null) 情况下可用 | |||
声明 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。