问题描述
我敢肯定,这比我想像的要简单得多,但是...
在CAPL中,我试图输出具有特定值的信号的时间戳:
on signal_update XXX
{
if ($XXX == 42) {
message * msg = { DLC = 15 };
getThisMessage(msg,15);
write("Time: %f",messageTimeNS(msg));
}
}
因此,给定信号更新后,如何获取包含消息及其时间戳? (顺便说一句,“ DLC = 15”只是编译器让我包括的最大值。我不确定正确的值。)
解决方法
您始终可以通过使用
来获得当前的仿真时间timeNowNS();
在on signal_update ...
块中时,返回的时间是导致事件处理程序执行的时间;在这种情况下,当收到包含感兴趣信号的消息时。
在执行事件处理程序期间,仿真时间不会改变。