例如,我从 ECU 接收到一个 ID 为 0x100 的 CAN 帧,其中包含 CAN 通道 1 中的一些数据。我只想将字节 7 更改为 0xFF 并在通道 1 中进一步转发此帧。我的代码如下:
on message 0x100
{
message 0x100 msg;
msg = this;
msg.byte(7) = 0xFF;
output(msg);
}
但是,在 CAN 跟踪中,我看到消息原样,字节 7 没有更改。我做错了什么?也许有什么我不明白的东西..
我有一个假设可以解决它,但这需要对我的硬件进行接线更改。如果我将一个通道用于输入,另一个通道用于输出,那么我可以使用 CAPL 作为网关,并在一个 CAN 总线内将帧从 CAN1 发送到 CAN2。
欢迎任何想法。谢谢你。