我试图将信号数据保存在 CAN 消息的每个我的单独变量中。例如。我有一个 dlc = 4 的 CAN 消息“msg1”,在 CANalyzer 的 CAPL 中有信号 {8、5、7、21},我想将它们保存在变量中,例如:int var1 = msg1.byte(0); 但我在操作后不断将零 (0) 作为变量的最终值。
任何帮助深表感谢。谢谢
如果您还没有这样做,请使用关键字 this 实现 on message 事件:
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);
}
}