【发布时间】:2018-07-24 15:20:33
【问题描述】:
我无法使用 CAPL 测试代码读取任何类型的诊断信息。 可以使用限定符发送请求,但无法对响应做出反应。
这是代码示例:
我在 Main() 中调用这个函数:
fDiag_read_faults()
{
byte DTCasText[1000];
char reasonOut[10];
dword i;
diagRequest FaultMem_ReportDTCByStatusMask diag_req;
diagSetTarget("EPS218");
diagConnectChannel();
diagSetCurrentSession(1);
diagSendRequest(diag_req);
等等... 然后我会期待对以下内容的反应:
on diagResponse *
{
byte data[4096];
long size;
diagResponse * resp; // declare response with no concrete interpretation
size=this.GetPrimitiveSize(); // get length of response
this.GetPrimitiveData(data, elcount(data)); // copy actual response into
data array
}
但什么都没有发生。 响应来自总线,但未执行 on diagresponse。 我正在使用 CAN 总线/UDS 协议。
非常感谢任何帮助。
【问题讨论】:
标签: diagnostics capl