CANoe的CAPL编程基础(3)
来源:互联网 发布:乎的用法 编辑:程序博客网 时间:2024/05/17 04:56
很久没有更新博客了,既然写了CAPL编程,就把自己知道了都写出来吧。
1、监视总线的情况,这一般会用在查看一段时间内,总线上有没有出现通讯异常的情况。需要使用函数ChkStart_NodeBabbling( ).
如,检测一段时间内总线有没有出现停止通讯的情况:
CheckId=ChkStart_NodeBabbling(CAN::PT_MCU,0);//立即开始检查总线状态testWaitForTimeout(2000);//延时2sChkControl_Stop(CheckId);//停止检测QueryNumberEvents=ChkQuery_NumEvents(CheckId);//如果在2s内总线停止通讯,则QueryNumberEvents!=0
2、关于获取关键时间点的的总结
(1)CANoe中获取定时器当前计时值的函数为:timerToElapse();该函数原型如下:
long timerToElapse(timer);long timerToElpase(msTimer);
(2)获取等待某个事件的时间,需要使用函数TestGetLastWaitElapsedTimeNS(),其原型如下:
float TestGetLastWaitElapsedTimeNS();
(3)获取当前的仿真时间点:
float timeNowFloat();
(4)等待指定报文:
long TestWaitForMessage(dbMessage aMessage,dword aTimeout);long TestWaitForMessage(dword aMessageId,dword aTimeout);
若在aTimeout时间内等到了指定ID的报文,函数返回1,否则返回0;
(5)获取报文的数据,等到了报文之后,如果想知道报文的具体内容可以使用函数:
message msg;long result;result=TestGetWaitEventMsgData(msg);.....处理msg.....
3、多总线测试
设置总线背景,一般都总线测试都会有两路及以上的CAN,这时若要通过CAPL脚本获取某个CAN通道上的报文时,就需要先设置好总线背景,即将总线设置为值监听某一路的CAN通道。下面是一个例子:
void BusContextConfiguration(char yBus[]){ yBusContext=GetBusNameContext(yBus);//这里的yBusContext为全局变量 SetBusContext(yBusContext);}//使用:BusContextConfiguration("CAN1");//将总线监听设为CAN1
此时等待某一路的CAN报文可是这样实现:
res=testWaitForMessage(CAN1::NM_IPU,600);//等待CAN1上的名称为NM_IPU的报文,等待事件为600ms
阅读全文
0 0
- CANoe的CAPL编程基础(3)
- CANoe的CAPL编程基础(1)
- CANoe的CAPL编程基础(2)
- CANoe 入门 Step by step系列(二)CAPL编程
- CANoe CAPL语言Step2
- How to Create the CAPL DLL and integrated it into CANOE
- CANoe学习3
- CANoe简易教程3
- CANoe入门基础教程(一)
- (wireshakr & can)vs CANoe
- CANoe 入门 Step by step系列(三)简单例子的剖析
- canoe 中对ECU诊断的程序
- CAPL入门
- CAPL常见问题
- 基于CANoe的ECU Bootloader刷写软件
- 基于CANoe的ECU Bootloader刷写软件
- CANoe 入门 Step by step系列(一)
- CANoe 入门 Step by step系列(一)
- Linux系统增加虚拟磁盘,命令fdisk磁盘分区及划分分区详解
- 第一次写csdn博客,致敬前辈
- Java的JDBC运用
- Jzoj4891 摆书
- zTree--一个小小的例子
- CANoe的CAPL编程基础(3)
- JDBC—总结(1)
- 网上商城—在线支付
- 02-线性结构1 两个有序链表序列的合并(15 分)
- mysql之InnoDB存储引擎(1)——InnoDB存储引擎体系
- 新建的类对象,在重写equals方法后为什么要重写hashcode方法?
- flexbox 剩余空间分配规则
- HDU 1166 敌兵布阵
- SpringBoot源码解析之Config