零基础学习CAPL之CAN报文的发送——单帧周期性发送之事件事件的讲解

目录

  • 1 具体脚本(工程启动,直接发送报文)
    • 1.1 运行结果(工程启动,直接发送报文)
  • 2 具体脚本(工程启动,按键触发 发送报文)
    • 2.1 运行结果(工程启动,按键触发 发送报文)
  • 3 脚本解析

1 具体脚本(工程启动,直接发送报文)

零基础学习CAPL之CAN报文的发送——单帧周期性发送之事件事件的讲解_第1张图片

1.1 运行结果(工程启动,直接发送报文)

零基础学习CAPL之CAN报文的发送——单帧周期性发送之事件事件的讲解_第2张图片

2 具体脚本(工程启动,按键触发 发送报文)

零基础学习CAPL之CAN报文的发送——单帧周期性发送之事件事件的讲解_第3张图片

2.1 运行结果(工程启动,按键触发 发送报文)

零基础学习CAPL之CAN报文的发送——单帧周期性发送之事件事件的讲解_第4张图片

3 脚本解析

本章主要针对事件事件来介绍相关的定时器相关内容

includes
{
  
}

variables
{
  message 0x11 msg1;//定义要发送的报文
  msTimer timer1;//定义定时器
  
}

on key 'a'
{
  
  setTimer(timer1,100);//运行CANoe程序,按下‘a’,启动定时器
}
 on timer timer1{
  msg1.can=1;
  msg1.dlc=8;//定义报文的属性
  msg1.byte(0)=0x11;//定义byte(0)字节的数值
  output(msg1);//输出该报文到CAN总线
  setTimer(timer1,100);//重置定时器 
 }

set Timer 函数是用来设定时间间隔的。
当定时器运行到达设定的时间间隔时,触发定时事件,这时On timer函数中的程序块将会被执行,若周期性触发需要在每次触发结束后使用setTimer复位,若在定时器定时器运行中需要停止计时时。可以用cancelTimer函数来取消计时。
定时器事件关键字
on timer XX
下面对一些语法函数使用进行简单举例讲解


/*定义定时器*/
variables
{

  msTimer timer1;//定义定时器,以ms为单位,定时器变量Timer1,如果需要秒定时器则:Timer timer1
  
}

/*定义定时器时间*/
setTimer(定时器名称,定时时间);//单次定时 
setTimerCyclic(定时器名称,定时时间);//循环定时


on start
{
setTimer(Timer;100);//将Timer的定时事件设定为100ms,并启动它
}


/* 定时器回调函数 */
on timer Timer1                    //定义的Timer1事件事件,每100ms执行一次
{
setTimer(Timer,100); //启动下一个周期循环
}

on key   ‘b’
{
cancelTimer(Timer1)//删除定时器
}

你可能感兴趣的:(CAPL基础知识,CAN通讯,CANoe,CAPL)