一、capl程序组织
1、全局变量的声明
–you declare variables that can be read or changed by any part of your CAPL program.
在程序的任何部分都可以读取和修改。
–It is a good idea to declare messages and timers in this section.
适合定义messages和timers。
2、事件处理
–Event procedures are blocks of code that are executed when an event occurs.
事件发生时执行。
–CAPL allows you to define event procedures for several different kinds of events.
可以为多个不同的事件定义事件处理
–Most of your program code will be in event procedures, since most actions are performed after an event, such as a message being received on the CAN bus.
大多数代码都写在事件处理中。
–Event procedures cannot return a value.
事件处理不能有返回值。
3、用户定义函数
–Your programs can contain procedures that can be used to complement CAPL’s built-in functions.
–These procedures can contain any legal CAPL code and are globally accessible.
–Putting frequently-used code in a procedure makes programs more efficient.
–User-defined functions can return a value of any simple type.
可以有返回值。
二、CAPL文件类型
★两种
*.CAN 包含CAPL程序(ASCII 文本格式)
*.CBF 编译.CAN文件得到(二进制文件),只能被CANslyzer或CANoe执行。
三、CAPL数据类型
char 8bit unsigned
byte 8bit unsigned
int 16bit signed
word 16bit unsigned
long 32bit signed
dword 32bit unsigned
float 64bit signed
double 64bit signed
message 一条通信消息
timer 秒级计时器
msTimer 毫秒级计时器
四、运算符
(雷同c语言,只列部分)
位 *** 作部分:
<<
>>
<<= compound assignment(left shift)
>>=compound assignment(right shift)
&=AND
^= XOR
|= OR
五、控制结构
1、if()
{
}
else
{
}
2、switch()
{
case :
default:
}
3、while()
{}
4、do{}while()
5、for(){}
6、break &continue
7、this
CAPL就是Communication Application Programming Laguage的缩写,CAPL类似于C语言的语法,因此所有的语法请参考C语言教程。
CAPL语法是C语言的,又有一些C++的特性,this指针,事件等,对于事件的理解可以学习任意一种面对对象语言,首推C#.NET,可以参考我的博客学习,当然这个似乎比CAPL本身更加难,事件也更加多,但这并不妨碍对事件的理解,其中的事件类型如下图:
在打开CANoe,新建个工程,在Simulation Setup中加个Network node ,点铅笔,右键Start->New,键入如下代码。
编译后,关闭CAPL Brower。运行CANoe工程即可成功。
就是用capl编程,然后节点右击配置选择编编程好的capl程序,也就是.can文件。就将信号与环境变量关联了起来。如果你有面板设计,再讲面板与环境变量关联起来,这样如果改变面板,那么信号也就会发生变化。我也是初学,互相交流欢迎分享,转载请注明来源:内存溢出
评论列表(0条)