Vector - CAPL - CAPL入门 - 02

CAPL语法

counter = counter+1;
if (counter==256)
{
    counter=0;
    stop();
}

注释

        //         放置在需要注释的语句之前,注释单行
        /*         注释起始符,其后的内容被注释
        */         注释结束符,结束由‘/*’开始的注释

分号

        “;”        程序结束标识

大括号

        “{}”        函数体

TestModule启动测量向Write Window输出字符串

        右键System -> New Event Handler -> 在事件型列表中找到on start

代码实现如下:

variables
{
  msTimer cycTimer;
}
on start
{
   write("start Node A");
   setTimer(cycTimer,20);
   CallAllOnEnvVar(); // CANoe only
}

        如上在CANoe启动后即会在Write窗口上打印出 "start Node A"。

Write Window窗口

在键盘上按下键‘h’,然后在Write窗口输出“你已按下键盘字符h”和“write窗口输出字符f = 123

float f=123;
on key 'h'
{
   write("你已经下键盘字符h");
   write("write窗口输出字符f = %f",f);
}

键盘触发字符

键盘事件说明
on key ‘a’ 按‘a’键反应
on key ‘ ’ 按空格键反应
on key 0x20 按空格键反应
on key F1 按F1键反应
on key Ctrl-F12 按Ctrl + F12键反应
on key PageUP 按PageUp键反应
on key Home 按Home键反应
on key * 按所有键反应

定时器触发函数

定时器声明

        msTimer myTimer;                           //将myTimer 申明ms为单位的变量
        timer myTimer;                                 //将myTimer 申明s为单位的变量

定时器函数

        setTimer(myTimer,100);                   //将定时值设定为100ms,并启动
        cancelTimer(myTimer);                    //停止定时器myTimer

定时器事件

        on timer myTimer                            //对myTimer 设定的时间到反应

variables
{
  msTimer cycTimer;
  message * cycmsg;
}
on timer cycTimer
{
  output(cycmsg);
}

按下‘+’周期报文EngineData中的信号EngineSpeed值增加100

variables
{
  msTimer cycTimer;
  message MotorData cycmsg;
}
on timer cycTimer
{
  output(cycmsg);
}
on start
{
   setTimer(cycTimer,100);
}
on key '+'
{
   cycmsg.temperature.phys = 60;
   cycmsg.EngineSpeed.phys += 100; 
}

按下‘-’周期报文EngineData中的信号EngineSpeed值减少100

on key '-'
{
   cycmsg.temperature.phys = 60;
   cycmsg.EngineSpeed.phys -= 100; 
}

CAPL中报文类型结构

        message * sendmsg;

名称说明
ID报文标识符
CAN对应的CAN通道号
DLC数据场长度代码(0~8)
DIR报文方向,TX,RX
RTR远程传输请求:0(数据),1(远程帧)
TYPE报文类型(RXDATA.TXDATARXREMOTE.TXREMOTE...)
TIME时戳,单位10ms
TIME NS时戳,单位ns第x个字节报文中的信号
Byte(x)报文中的第x个字节
signalsignal.phys = vaue;signal.raw = 原始值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车载网络测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值