CAN 报文信号,CAPL
CAN message signals, CAPL
我正在尝试将每个 CAN 消息中的信号数据保存在单独的变量中。
例如。我有一个 dlc =4 的 CAN 消息 'msg1',在 CANalyzer 的 CAPL 中带有信号 {8, 5, 7, 21},
我想将它们保存在如下变量中:
int var1 = msg1.byte(0);
但我在操作后一直将零 (0) 作为变量的最终值。
非常感谢任何帮助。
谢谢
如果您还没有这样做,请使用关键字 this:
实现消息事件
on message msg1 {
var1 = this.byte(0);
...
}
当CANalyzer接收到on message事件中指定的消息时,该事件将始终被触发。这样您还可以确保 var1 存储的值是最新的。
您还可以使用数组来使用更通用的方法。
on message msg1 {
int i;
int var[msg1.dlc];
for (i = 0; i < msg1.dlc; i++) {
var[i] = this.byte(i);
}
}
我正在尝试将每个 CAN 消息中的信号数据保存在单独的变量中。 例如。我有一个 dlc =4 的 CAN 消息 'msg1',在 CANalyzer 的 CAPL 中带有信号 {8, 5, 7, 21}, 我想将它们保存在如下变量中: int var1 = msg1.byte(0); 但我在操作后一直将零 (0) 作为变量的最终值。
非常感谢任何帮助。 谢谢
如果您还没有这样做,请使用关键字 this:
实现消息事件on message msg1 {
var1 = this.byte(0);
...
}
当CANalyzer接收到on message事件中指定的消息时,该事件将始终被触发。这样您还可以确保 var1 存储的值是最新的。 您还可以使用数组来使用更通用的方法。
on message msg1 {
int i;
int var[msg1.dlc];
for (i = 0; i < msg1.dlc; i++) {
var[i] = this.byte(i);
}
}