CANoe是德国Vector公司开发的专门用于仿真和测试CAN通讯的软件,在汽车电子开发中使用十分广泛。在使用时会用到CANoe的CAPL编程,这是一种类C 语言的编程语言,属于一种面向对象的语言,并不复杂,下面对CAPL编程的一些基础知识进行一些总结:
1、定时器
CAPL中的定时器使用很频繁,不如当你测试时需要向纵向定时发送某条CAN报文时就需要用到定时器;
定时器的声明:
msTimer myTimer1;//声明了一个ms定时器,定时单位是毫秒
timer myTimer2;//声明了一个以秒为单位的定时器;
设置定时器:
setTimer(myTimer1,500);//设置定时器myTimer1为一个500ms定时器;
setTimerCyclic(myTimer2,1);//设置定时器myTimer2为一个1s为周期的循环定时器;
设置定时器定时事件,即当定时器计时时间到时将要执行的操作:
on timer myTimer1
{
.......
}
2、信息的操作和发送
message 0x7ff Msg;//声明一个message,ID=0x7ff
Msg.dlc=8;//设置其DLC=8;
Msg.id=0x100;//更改其ID=0x100;
Msg.byte(0)=55;//设置数据场的第一个字节为55
output(Msg);//发送Msg
3、节点上下线操作
节点时在dbc文件中定义的节点,如VCU,BMS,MCU等,有时需要将它们离线,离线后不再向总线上发送报文,在线时,可以向总线上发送报文。
节点上线:
void testSetEcuOnline(dbNode aNode);
void testSetEcuOnline(char aNodeName[]);
节点下线:
void testSetEcuOffline(dbNode aNode);
void testSetEcuOffline(char aNodeName[]);
未完,待续。。。。。
更多推荐
CANoe的CAPL编程基础(1)
发布评论