Vector - CAPL - XCP介绍_03

161875bcf83548dab273d89400cb16d7.png

目录

OnXcpError

xcpSetCalPage & OnXcpSetCalPage

代码示例

xcpGetPollingCycle

xcpSetPollingCycle


OnXcpError

4d4bb13529e84ff7842eee598d09a16b.png

功能:每当 XCP 从机回答否定响应(即不是 0xFF)时,就会调用 OnXCPError 回调函数。

ecuQualifier:设备名称,可以在CANoe中进行设置。

xcpCmd:CANoe发送的XCP命令。

xcpErrorCode:XCP从站返回的错误码。

xcpSetCalPage & OnXcpSetCalPage

bc5364ef9b56448884257a0fceb8bf26.png

功能:如果XCP从设备支持校准数据页面切换,则该命令设置当前页面和访问模式。

回调返回ECU切换标定数据页。

ecuQualifier:设备名称,可以在CANoe中进行设置。

mode:XCP 规范中定义的位字段。

Bit 7用于所有段,即忽略参数segmentNr。
Bit 1从设备 XCP 驱动程序将访问给定页面。
Bit 0给定页面将由从设备应用程序使用。

segmentNr:逻辑数据段号。

pageNr:逻辑数据页码。 通常 0 标识 RAM 中的页面,1 标识 FLASH 存储器中的页面。

注意:CANoe.XCP 只能处理存储在 RAM 中的参数。

代码示例

variables
{
   long mMode;
   long mSegmentNr;
}

void OnXcpConnect(char ecuName[])
{
   mMode = 255;
   mSegmentNr = 0;
   write("Connect callback! ECU: %s", ecuName);
   XcpGetCalPage(ecuName, mMode, mSegmentNr);
}

void OnXcpGetCalPage(char ecu[], long reserved1, long reserved2, long pageNumber)
{
   Write("OnXcpGetCalPage callback! ECU: %s. Current PageNumber: %d", ecu, pageNumber);
   if (pageNumber == 0)
   {
      pageNumber = 1;
   }
   else
   {
      pageNumber = 0;
   }
   XcpSetCalPage(ecu, mMode, mSegmentNr, pageNumber);
}

void OnXcpSetCalPage(char ecu[])
{
   Write("OnXcpSetCalPage callback! ECU: %s", ecu);
}

xcpGetPollingCycle

ed242908cc0b42869fc1c696deb26f96.png

功能:如果参数的读取模式设置为轮询,则返回参数的循环时间。

namespace:相应系统变量的命名空间。

variable:相应系统变量的名称。

sysvar:系统变量的完全限定名称,包括所有名称空间,以“::”分隔。名称前面必须有“sysvar::”

返回值:

        > 0:循环时间

        -1:未在系统变量中找到参数

        -2:操作不被允许

xcpSetPollingCycle

4438d0c3aa0a4f43987464614b796ad5.png

功能:如果参数的读取模式设置为轮询,则返回参数的循环时间。

           如果参数的读取模式设置为轮询,则设置参数的循环时间。

namespace:相应系统变量的命名空间。

variable:相应系统变量的名称。

sysvar:系统变量的完全限定名称,包括所有名称空间,以“::”分隔。名称前面必须有“sysvar::”

cycleTime:测量参数的周期时间。

返回值:

         0:OK

        -1:未在系统变量中找到参数

        -2:操作不被允许

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

车载网络测试

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

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

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

打赏作者

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

抵扣说明:

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

余额充值