备注:COM-API常用用法整理,持续更新
一、用户I-PDU发送回调中,指定发送对应DBC的信号值
boolean Rte_COMIPduCallout_signal(PduIdType id, PduInfoType *ptr)
{
static uint8 ucCheckSum = 0;
// Calculate checksum
if (ucCheckSum >= 15)
ucCheckSum = 0;
else
ucCheckSum++;
// Send checksum to the signal
Com_SendSignal(ComSignal_signal, (void *)&(ucCheckSum));
return TRUE;
}
二、获取DBC上指定信号的值,用于条件判断或其他处理
例如:ECU复位前的条件判断,如果车速大于5,则不允许复位。
Std_ReturnType DcmAppl_DcmEcuResetPreparation(
uint8 ResetType,
Dcm_NegativeResponseCodeType * ErrorCode
)
{
uint8 ucSpeed = 0;
Std_ReturnType retVal = E_OK;
*ErrorCode = 0x00;
(void)(ResetType);
// Get speed signal
Com_ReceiveSignal(ComSignal_Speed, &ucSpeed);
// speed check
if(ucSpeed >= 5 )
{
retVal = E_NOT_OK;
*ErrorCode = 0x7E;
}
return retVal;
}