CAPL事件处理内容学习

事件处理

事件起始的关键字on*

关键字this

报文事件或变量事件中,可以使用关键字this访问数据内容

系统事件

事件事件进程
仿真测量初始化on preStart
CAPL程序开始onStart
仿真测量停止on preStop
仿真测量结束on stopMeasurement
键盘响应事件on key
定时器on timer

on key
CAPL对键盘的26个字母(区分大小写),和10个数字,以及下图的特殊键都能响应
on key键盘响应
定时器(on timer)
定时器在capl语法中,是一种数据类型,有下面两种方式定义(秒和毫秒)

timer - timer based on seconds
msTimer - timer based on milliseconds
有两个定时器函数:

setTimer():启动定时器
void setTimer(msTimer t, long duration); // form 1
void setTimer(timer t, long duration); // form 2-
cancelTimer(): 停止定时器
void cancelTimer(msTimer t);
void cancelTimer(timer t);
如上图所示方法,创建两个定时器:
实现功能 on start的时候,启动timer1(1000ms) 和 timer2(10s),1000ms之后触发timer1,打印信息,然后再次重置timer1时间,10s时间到了之后触发timer2打印信息,并取消timer1

variables
{
  char timeBuffer[30];
  mstimer timer1; // define timer1 unit:ms
  timer timer2; // define timer2 unit:s
}
on start
{
  setTimer(timer1,1000); // initialize timer to run for 100 msec
  setTimer(timer2,10); // initialize timer to run for 100 s
}
on timer timer1
{
  getLocalTimeString(timeBuffer);
  write("%s:timer1 time out",timeBuffer);
  setTimer(timer1,1000); // reset timer
}
on timer timer2
{
  getLocalTimeString(timeBuffer);
  write("%s:timer2 time out",timeBuffer);
  cancelTimer(timer1); // cancel timer
}

on timer 代码结果

CAN控制器事件

on busoff CAN控制器进入busoff状态
on errorActive CAN控制器进入主动错误状态
on errorPassive CAN控制器进入被动错误f状态
on warningLimit CAN控制器达到报警线

报文事件

关键字:**on message *****
on message 123 十进制ID位123
on message 0x123 十六进制ID位123
on message MMI_DASH
on message CAN1.123 CAN通道1收到报文123反应
on message * 对所有的报文反应
on message100-200 对CAN ID在100~200间报文反应

信号事件

关键字:on signal xxx on
signal_updata xxx
前者只在指定信号的值发生变化时被调用
后者在每次接收到指定信号时均需被调用

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CAPL语言学习文档》是由叶建芳所编写的一本学习Capl语言的教材。Capl语言是一种专门用于控制汽车电子系统的脚本语言,它具有简单易懂、灵活多样的特点。这本文档详细介绍了Capl语言的基础知识,包括语法、变量、函数、条件语句、循环语句等内容。 首先,文档从Capl语言的语法规则开始讲解,通过简洁明了的语法示例,使读者可以快速上手。接着,文档详细介绍了Capl语言中的各种数据类型和变量的定义与使用方法,以及变量的作用域和生命周期等内容。读者可以通过文档学习如何在Capl语言中正确地声明和操作变量。 此外,文档还介绍了Capl语言中的函数的定义与调用方式,以及函数的参数和返回值的使用方法。这些知识点对于编写复杂的Capl脚本非常重要。此外,文档还探讨了条件语句和循环语句在Capl语言中的应用,例如if语句、switch语句、while循环和for循环等。 此外,文档还包含了大量的实例,通过实际的案例帮助读者更好地理解Capl语言的使用。这些实例涵盖了不同的应用场景,包括消息处理、信号发送与接收、状态控制等。读者可以通过模仿和理解这些实例代码,加深对Capl语言的理解和掌握。 总的来说,《CAPL语言学习文档》是一本很好的学习Capl语言的教材,其由叶建芳编写,旨在帮助读者快速入门并熟练掌握Capl语言的应用。通过学习这本文档,读者可以了解Capl语言的基本概念和语法规则,并通过实例来掌握Capl语言的编程技巧。无论是对于初学者还是有一定经验的开发者来说,都是一本不可多得的参考书籍。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值