CAN消息信号,CAPL

时间:2017-06-09 15:33:47

标签: can-bus capl canalyzer

我试图将信号数据保存在单独变量的每个CAN消息中。 例如。我有一条CAN消息' msg1' dlc = 4,在CANalyzer的CAPL中有信号{8,5,7,21}, 我想将它们保存在以下变量中: int var1 = msg1.byte(0); 但是我在操作后继续将零(0)作为变量的最终值。

非常感谢任何帮助。 感谢

1 个答案:

答案 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);
  }
}