Vector - CAPL - 获取相对时间函数

news2024/11/19 19:36:01

在自动化开发中,无论是CAN通信测试,还是网络管理测试,亦或是休眠唤醒等等存在时间相关的,都可能会使用相关的时间函数;今天主要介绍的就是获取当前时间,我们知道vector工具的最大优势就是稳定和精确度高,这体现在我们使用工具的方方面面,今天我们来介绍的就是获取的运行的相对时间,包含10微秒级和纳秒级,下面我们就来看下CAPL都提供哪些获取当前时间函数吧!

10微秒级

timeNow

返回值:10ms级的CANoe工程启动到执行到该函数的时间;整数类型

常见用法:time_now_ms = timeNow()/100, time_now_ms就是CANoe启动到执行到该行的运行时间,单位为ms,一般来说大部分测试达到满足毫秒级即可,极个别需要精确到微秒甚至纳秒的时候我们才会使用其他方法。

timeNow:time_now_ms的最大值:2^32*10微秒=11小时55分钟49秒672毫秒96微秒;如果是长时间压力测试的时候使用该函数需要注意处理最大值,以免测试结果的误判。

timeNowint64:如果是长时间压力测试的时候建议使用该函数。

timeNowFloat

返回值:10ms级的CANoe工程启动到执行到该函数的时间;浮点类型

常见用法:time_now_ms = timeNow()/100, time_now_ms就是CANoe启动到执行到该行的运行时间,单位为ms,一般来说大部分测试达到满足毫秒级即可,极个别需要精确到微秒甚至纳秒的时候我们才会使用其他方法。

如果是长时间压力测试的时候使用该函数需要注意处理最大值,以免测试结果的误判。

timeDiff

message:CAN报文 例如:message 0x100 msg;则msg就代表报文ID为0x100的报文,msg.dlc即为报文0x100的长度都可通过msg.xx进行设置(FDF/BRS/R0/R1等等参数),设置内容函数MessageTimeNS中的message介绍。

NOW:当前时间

返回值:报文m1到当前的时间差或者报文m1和报文m2之间的时间差。

单位:10微秒

diff = timeDiff(m100, now); 
diff = this.time - m100.time; 
//this代表当前时间

纳秒级

timeNowNS & timeNowInt64

返回值:纳秒级的CANoe工程启动到执行到该函数的时间;整数类型

常见用法:time_now_ns =timeNowNS(), time_now_ns就是CANoe启动到执行到该行的运行时间,单位为ns,这里函数能够满足纳秒级的测试,满足更加精确的时间精度。

如果是长时间压力测试的时候使用该函数需要注意处理最大值,以免测试结果的误判。

MessageTimeNS

message:CAN报文 例如:message 0x100 msg;则msg就代表报文ID为0x100的报文,msg.dlc即为报文0x100的长度都可通过msg.xx进行设置(FDF/BRS/R0/R1等等参数)

message 100 msg;
msg.DLC = 1;
msg.BYTE(0) = 0xff;
output(msg);

linFrame:LIN报文 参考上面

以报文为参数,其中包含CAN报文或者LIN报文,返回值为CANoe启动到当前函数的时间,单位为纳秒,精度相当的高,这个主要用于检查特定报文出现的时间,比如检查Autosar网络管理中的的重复报文出现的时间和时间差,可直接用当前函数去获取并进行检查。

以上是我们在使用CAPL编程中常用的获取当前时间和或者时间差函数!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows使用QEMU搭建arm64 ubuntu 环境

1. 下载 QEMU: https://qemu.weilnetz.de/w64/ QEMU UEFI固件文件: https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd arm64 Ubuntu镜像: http://cdimage.ubuntu.com/releases/20.04.3/rel…

docker-compsoe启动nginx

本次采用的是nginx:1.20版本 下载命令 docker pull nginx:1.20docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx1.20ports:- 80:80volumes: - /home/nginx-docker/nginx.conf:/etc/nginx/nginx.conf- /home/nginx-do…

【mysql是怎样运行的】-InnoDB数据页结构

文章目录1. 数据库的存储结构:页1.1 磁盘与内存交互基本单位:页1.2 页结构概述1.3 页的上层结构2. 页的内部结构2.1 第1部分:文件头部和文件尾部2.1.1 File Header(文件头部)(38字节)2.1.2 File…

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络) 目录时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现IWO…

[1.3_3]计算机系统概述——系统调用

文章目录第一章 计算机系统概述系统调用(一)什么是系统调用,有何作用(二)系统调用与库函数的区别(三)小例子:为什么系统调用是必须的(四)什么功能要用到系统调…

Spring——整合junit4、junit5使用方法

spring需要创建spring容器&#xff0c;每次创建容器单元测试是测试单元代码junit4依赖<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-i…

【mysql是怎样运行的】-InnoDB行格式

文章目录1 指定行格式的语法2 COMPACT行格式2.1 变长字段长度列表2.2 NULL值列表2.3 记录头信息&#xff08;5字节&#xff09;2.4 记录的真实数据3 Dynamic和Compressed行格式1 指定行格式的语法 CREATE TABLE 表名 (列的信息) ROW_FORMAT行格式名称ALTER TABLE 表名 ROW_FOR…

Java面试题总结

文章目录前言1、JDK1.8 的新特性有哪些&#xff1f;2、JDK 和 JRE 有什么区别&#xff1f;3、String&#xff0c;StringBuilder&#xff0c;StringBuffer 三者的区别&#xff1f;4、为什么 String 拼接的效率低&#xff1f;5、ArrayList 和 LinkedList 有哪些区别&#xff1f;6…

Trace、Metrics、Logging 选型

背景分布式追踪的起源自从微服务的兴起开始&#xff0c;整个系统架构开始变得极为庞大和复杂&#xff0c;但是服务之间的调用关系&#xff0c;调用消耗时间等等信息却依然是半黑盒的状态。为了能够将调用的链路进行串联&#xff0c;将系统的各种指标数据展示出来以使得系统的链…

windows 服务程序和桌面程序集成(一)

本系列文章介绍如何将windows服务程序和桌面程序集成在一起&#xff0c;也就是说一个EXE程序&#xff0c;既可以作为服务程序运行&#xff0c;也可以作为桌面程序运行的双模程序。在十几年前&#xff0c;曾经给客户开发一套C/S架构的出单程序&#xff0c;当时不是很清楚windows…

C++016-C++结构体

文章目录C016-C结构体结构体目标结构体定义结构体实例化结构体题目描述在线练习&#xff1a;总结C016-C结构体 在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 结构体 参考&#xff1a;https://www.cnblogs.com/ybqjymy/p/16561657.html https://…

【Day1】一小时入门 python 基础,从安装到入门

文章目录python安装安装python安装 pycharmpython基础输出注释变量输入类型转换运算符自增字符串相关操作比较运算符逻辑运算符条件控制while循环list 列表for 循环range函数元组python 安装 安装python 官网进行下载&#xff1a;官网下载地址这里下载的一直是最新版本的 点…

嵌入式linux必备内存泄露检测神器

Valgrind介绍 Valgrind是一个可移植的动态二进制分析工具集&#xff0c;主要用于发现程序中的内存泄漏、不合法内存访问、使用未初始化的内存、不正确的内存释放以及性能问题等&#xff0c;可在Linux和Mac OS X等平台上使用。 Valgrind由多个工具组成&#xff0c;其中最常用的…

Linux操作系统学习(文件缓冲区)

文章目录缓冲区fork后的缓冲区缓冲区 什么是缓冲区&#xff1f; ​ 缓冲区(Buffer&#xff09;就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储&#xff0c;这部分预留的内存空间就叫做缓冲区。 缓冲区分为内核缓冲区和用户缓冲区 ​ 内核缓冲区是…

【Linux】P2 vi/vim 编辑器

vim编辑器vim 编辑器介绍vim 三种工作模式vi/vim 操作打开/创建文件命令模式快捷指令底线模式快捷指令前言 上节内容&#xff1a; Linux 基本命令 链接&#xff1a; https://blog.csdn.net/weixin_43098506/article/details/129298221 本节内容&#xff1a; Linux vi 编辑器。 …

STM32 10个工程篇:1.IAP远程升级(一)

清晨一大早起来开始撰写STM32 10个例程篇的第一章即串口IAP远程升级&#xff0c;虽然网络上有很多免费和付费的STM32教程&#xff0c;但是仍然不断地说服自己沉住气、静下心写一份独一无二的&#xff0c;这份独一无二中也凝聚了一名MCU工程师5年间不断地项目迭代积累&#xff0…

总结磁共振成像的脑龄预测的人工智能模型

脑龄预测的人工智能模型 介绍基于神经影像的BA预测BA预测建模:从统计方法到DL统计方法使用统计/最大似然估计方法的BA研究的主要结果深度学习使用DL方法进行BA研究的主要结果可解释的人工智能(即可解释的深度学习方案)可解释的能力(Interpretability,)、可因果性和可解释性…

剑指 Offer —— 数组和字符串

文章目录剑指 Offer 04. 二维数组中的查找代码实现解题方案 思路算法步骤剑指 Offer 05. 替换空格题目描述代码实现解题方案 思路算法步骤剑指 Offer 11. 旋转数组的最小数字 - 解决方案题目描述代码实现剑指 Offer 04. 二维数组中的查找 在一个 n * m 的二维数组中&#xf…

csdn写文章自定义表格怎么做

前言 CSDN写文章时&#xff0c;经常会用到表格&#xff0c;不同于Word文档中直接插入表格&#xff08;自定义几行几列&#xff09;&#xff0c;使用CSDN自带的md文本编辑器时&#xff0c;很难快速插入想要的表格样式&#xff0c;追究原因&#xff0c;也是因为md的语法问题&…

C语言刷题(4)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容又到了我们的复习啦&#xff0c;那么还是刷题噢&#xff0c;话不多说&#xff0c;让我们进入C语言的世界吧 BC55 简单计算器 BC56 线段图案 BC57 正方形图案 BC58 直角三角形图案 BC59 翻转直角三角形图案 BC60 带空格…