Vector - CAPL - XCP介绍_01

        XCP协议全称为X Calibration Protocol,它是一种广泛使用在标定校准和测量的一种通信协议,由 ASAM 工作组标准化, 可以在不同的总线系统上使用,例如:XCP on CAN、XCP on CAN FD、XCP on Ethernet、XCP on FlexRay、XCP on LIN。我们在测试中经常会遇到修改软件的一些内部变量,常规的方法是无法实现该种类型的操作的,不过XCP就是那个例外,它可以访问ECU内部值并且在特定的用例中对其进行控制。在CANoe中,ECU的内部信号被映射为系统变量,因此可以通过分析窗口、CAPL函数等进行集成使用,CANoe软件作为XCP协议的主站,同时与多个设备进行通信,在这里我们就先介绍下CAPL调用XCP的常用函数。

目录

xcpConnect & OnXcpConnect

xcpDisconnect & OnXcpDisconnect

xcpIsConnected 


xcpConnect & OnXcpConnect

功能:建立与 XCP/CCP 设备的连接并开始配置的 DAQ 测量。

ecuQualifier:设备名称 – 在 CANoeXCP/CCP 窗口中配置。

返回值:

        0:连接成功

        -1:具有此名称的设备不存在

        -2:不允许操作 – 已连接

示例代码

testcase TC_ConnectToECU ()
{
  xcpConnect("ECU_Name");
}

//Callback function:
void OnXcpConnect (char ecuQualifier[])
{
  //Set calibration page to RAM
  xcpSetCalPage(ecuQualifier, 0x83, 0, 0);
}

xcpDisconnect & OnXcpDisconnect

功能:断开与 XCP/CCP 设备的连接。

ecuQualifier:设备名称 – 在 CANoeXCP/CCP 窗口中配置。

返回值:

        0:连接成功

        -1:具有此名称的设备不存在

        -2:不允许操作 – 已连接

示例代码

testcase TC_DisConnectToECU ()
{
  OnXcpDisconnect("ECU_Name");
}

xcpIsConnected 

功能:检查CANoe与XCP/CCP设备的当前连接状态。

ecuQualifier:设备名称 – 在 CANoeXCP/CCP 窗口中配置。

返回值:

        0:未连接

        1:成功连接

        -1:名字为ecuQualifier的设备不存在

示例代码

long Get_xcpConnect_State()
{
    long xcp_state = 0xFF;
    xcp_state = xcpIsConnected("ECU_Name");
    return xcp_state;
}

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车载网络测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值