CAN报文的发送——单帧周期性发送

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


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


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


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


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)//删除定时器
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值