我正在使用 CANalyzer。我正在使用 Interactive Generator 块传输 CAN 消息。我使用 IG 手动修改传输消息中的信号。每次发送消息时,我都需要自动计算校验和(消息中的最后一个字节)。校验和是根据消息中所有先前的数据字节计算的(消息总是 8 个字节长)。IG 没有选择这样做。
我需要: 1. 使用 IG 手动设置信号。2.根据前面数据字节的值自动计算最后一个数据字节的值。
我尝试用 CAPL 编写简单的代码,但没有成功。我将 CAPL 程序节点放在配置窗口中的 IG 节点之后,并在 CAPL 脚本中写入消息事件:
on message FooMsg
{
message FooMsg msg1; // FooMsg is name of message in database
msg1 = this; // copy message from IG to temporary variable
// this.byte(7) = 0x11; // not posibble, compiler warning
msg1.byte(7) = 0x11; // constant value just for test
output(msg1); // send message
}
消息正在传输,但不遵守 IG 中设置的 Tx 周期(消息尽可能快地传输)。
我以为我捕获了从 IG 生成的消息,对其进行修改并发送到 CAN 总线。
有人可以帮忙吗?我是CAPL的初学者。
谢谢