output:发送帧头
This function can be used for two purposes: |
|
|
如果有LDF文件,对于主节点发出来的报文,直接就可以output,如果是
on key 'a'
{
linFrame 0x9 tst_Frame;
tst_Frame.RTR=1;
output(tst_Frame);
}
对于从节点的message,必须存在从节点,可以是真实节点,也可以是模拟节点,下面介绍模拟节点
我们在capl里面定义
on key 'b'
{
linFrame 0x37 tst_Frame1;
tst_Frame1.RTR=1;
output(tst_Frame1);
}
把从节点0x37(111)打开,就可以看到发出来的消息
这样做确实把报文发出来的,但是报文里面的信号值全是默认值,如果我们想改变报文里面信号的值,我们不妨这样做
on key 'a'
{
linFrame 0x9 tst_Frame;
//tst_Frame.RTR=1;
tst_Frame.RTR=0;
tst_Frame.byte(0) = 1;
tst_Frame.byte(1) = 2;
output(tst_Frame);
tst_Frame.RTR=1;
output(tst_Frame);
}
输出如下
如果我们也想改变message的长度
研究了函数linchagedlc()后发现
on key 'a'
{
linFrame 0x9 tst_Frame;
//tst_Frame.RTR=1;
tst_Frame.RTR=0;
tst_Frame.byte(0) = 1;
tst_Frame.byte(1) = 2;
linChangeDlc(tst_Frame.id,4);
output(tst_Frame);
tst_Frame.RTR=1;
output(tst_Frame);
}
输出如下
直接上代码
variables
{
linFrame 0x20 tst_Frame;
}
on preStart
{
//tst_Frame.RTR=1;
tst_Frame.RTR=0;
tst_Frame.byte(0) = 1;
tst_Frame.byte(1) = 2;
linChangeDlc(tst_Frame.id,4);
output(tst_Frame);
tst_Frame.RTR=1;
}
on start
{
linStopScheduler();
}
on key 'a'
{
output(tst_Frame);
}
输出如下: