我使用 Vector 软件在 CANoe 中创建了一个节点,并为其分配了设计的数据库。
我需要传输连续的消息,为此我创建了一个带有按钮的面板。当我继续按下按钮时,消息的信号应始终取值为 1,否则为 0(按钮已释放)
应该传输的消息具有以下特征:
我按下按钮后发送消息的代码:
variables {
message messageDeclaredInDb myMessage;
msTimer cyclicTimer200ms;
}
on envVar ev_Button_Status
{
switch (getValue(this)) {
case 0: myMessage.Sig = 0;
write("button released");
break;
case 1: myMessage.Sig = 1;
write("button pressed");
break;
default: write("Default");
}
setTimerCyclic(cyclicTimer200ms, 200);
}
on timer cyclicTimer200ms
{
myMessage.Sig = getValue(ev_Button_Status);
output(myMessage);
}
我在图形中可视化结果:
但是想要的结果应该是这样的,没有信号的上下波动:
请问有什么提示吗?知道我不使用任何交互层。