CANoe_CDD_测试过程中诊断DID增加过程详解
软件或者客户需求增加需要功能,增加DID。增加DID,并且选择读写模块勾选。增加所对应逻辑的系统变量。
·
1、需求导入
软件或者客户需求增加需要功能,增加DID
2、CDD制作
DIDI添加
增加DID,并且选择读写模块勾选
3、系统变量设计
增加所对应逻辑的系统变量
4、PANL面板制作
5、CAPL代码制作
//读取
on sysvar sysvar::HSorCalibrate::Btn::btn_Read_XXXX
{
diagRequest XXX.DID_XXXX_Read diag_req;
if(@this == 1)
{
diag_req.SendRequest();
@this = 0;
}
}
on diagResponse XXX.DID_XXXX_Read
{
int k=0;
byte RecData[33];
long XX_Data;
if(diagIsPositiveResponse(this))
{
this.getprimitivedata(RecData,elCount(RecData));
XX_Data = ((RecData[3] << 24) + (RecData[4] << 16) + (RecData[5] << 8) + RecData[6]);
@HSorCalibrate::ReadOffset_02::XX = XX_Data / 100;
@sysvar::XX::State = RecData[32] ;
}
}
网上有模板代码
//写入
on sysvar sysvar::Btn::btn_XXX
{
int ret1;
char show_txt[100];
diagRequest XXX.DID_XXX_Write diag_Req;
if(@this == 1)
{
ret1 = diagSetParameter(diag_Req, "Offset_XX", (@HSorCalibrate::WriteOffset_03::XX) * 100);
ret5 = diag_Req.SendRequest();
if(ret1 <0)
{
PrintInfo("写入失败,参数[HSor_XX_Offset]设置失败!");
snprintf(show_txt,elCount(show_txt),"XX ret:%d ",ret1;
PrintDetails(show_txt);
}
}
}
6、后记
后期再更新其他的
更多推荐
所有评论(0)