Vector - CAPL - CAN x 总线信息获取

news2024/11/20 6:35:03

        在CAN&CANFD测试中,我们经常需要获取到CAN总线的负载、错误帧、过载帧、发送错误等等CAN总线上面的信息,这些信息如此重要,但是如果真的要写代码去实现也是相当不易的,那我们该如何去获取到的呢?下面我们就来一起看下相关的实现函数。

目录

canResetStatistics -- 重置CAN统计信息

代码示例

BusLoad -- 总线负载

代码示例

ChipState -- CAN芯片状态(CANoe)

代码示例

PeakLoad  -- 峰值负载

代码示例

 TxChipErrorCount -- 芯片发送错误数量

代码示例

RxChipErrorCount -- 芯片接收错误数量

代码示例


canResetStatistics -- 重置CAN统计信息

功能: 重置CAN通道统计信息。

说明:

        1、只有通过模拟/测试设置中定义的CAPL程序才能在没有显式通道的情况下调用此函数。由当前总线上下文确定的通道的统计信息将被重置。

        2、具有显式通道的函数只能从测量设置中定义的CAPL程序中调用。

channel:CAN通道,对应CANoe使用通道

代码示例

on key 'r' 
{ 
   // 重置CAN1通道统计信息
   canResetStatistics(1);
}

BusLoad -- 总线负载

功能:获取当前某路CAN总线的总线负载;返回通道x的当前总线负载。

        x的取值范围:01 - 32

用法:CAN x. BusLoad;CAN x代表的是CANoe上面的第x路CAN通道

返回值:通道x的当前总线负载(百分比)。

代码示例

void Get_CAN1_BusLoad()
{
    busload = CAN1.BusLoad
    write ("CAN1 busload = %d", busload);
}

ChipState -- CAN芯片状态(CANoe)

功能:返回CAN控制器的当前芯片状态。

        x的有效值:1 - 32

返回值:当前CAN芯片状态说明;

        0:当前值不可用

        1:CAN芯片处于仿真状态

        2:未使用

        3:错误激活状态

        4:警告级别

        5:CAN芯片处于被动错误

        6:CAN芯片处于总线关闭

代码示例

void Get_CAN1_chipState()
{
    chip_state = CAN1.ChipState
    write ("CAN1 chip state = %d", chip_state );
}

PeakLoad  -- 峰值负载

功能:返回通道的峰值负载。

        x的有效值范围:1 - 32

返回值:通道x的峰值负载(百分比)。

代码示例

void Get_CAN1_PeakLoad()
{
    PeakLoad= CAN1.PeakLoad
    write ("CAN1 Peak Load = %d", PeakLoad);
}

 TxChipErrorCount -- 芯片发送错误数量

 功能:返回通道接收器中的当前芯片发送错误计数。

        x的有效值范围:1 - 32

返回值:自开始测量以来,通道x上的芯片发送错误消息数

代码示例

void Get_CAN1_TxChipErrorCount()
{
    TxChipErrorCount= CAN1.TxChipErrorCount
    write ("CAN1 Tx Chip Error Count = %d", TxChipErrorCount);
}

RxChipErrorCount -- 芯片接收错误数量

 功能:返回通道接收器中的当前芯片接收错误计数。

        x的有效值范围:1 - 32

返回值:自开始测量以来,通道x上的芯片接收错误消息数

代码示例

void Get_CAN1_RxChipErrorCount()
{
    RxChipErrorCount= CAN1.RxChipErrorCount
    write ("CAN1 Rx Chip Error Count = %d", RxChipErrorCount);
}

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

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

相关文章

系统集成作业——公司网络系统集成设计,总公司、分公司地跨两个不同城市。

一 实验需求 完成公司网络系统集成设计(2000台电脑),总公司、分公司地跨两个不同城市 二实验分析 本次实验继续建立在实验三的基础之上,对其升级改造为地跨不同城市的总公司和分公司的大型局域网网建设。 实验三配置点击链接&…

经营软件公司五年,从外包到SaaS的踩坑笔记

文章目录摘要开公司的两个误区关于管理关于合作关于SaaS其他经验大和强是两码事。大不是目的,强才是。小步试错、慢慢迭代不要掉入流量陷阱摘要 经营公司已有五年,经历了三年的疫情停滞,现在正在转型为一家SaaS公司。虽然曾经迷茫过&#xf…

包装类,String,String的方法

针对八种基本数据类型相应的引用类型-----包装类。有了类的特点,就可以调用类中的方法 基本数据类型包装类booleanBoolean char CharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDouble Byte---Double类的父类是Number 关系图 拆箱,装箱 …

如何微调Segment Anything Model

文章目录什么是SAM?什么是模型微调?为什么要微调模型?如何微调 Segment Anything 模型背景与架构创建自定义数据集输入数据预处理训练设置循环训练保存检查点并从中启动模型下游应用程序的微调随着 Meta 上周发布的 Segment Anything Model (…

DAY 33 shell编程 常用的文本命令

sort命令####排序 sort将文件的每一行作为一个单位相互比较,比较原则是从首字符向后依次按ASCII码进行比较,最后将它们按升序输出。(以行为单位来排序输出) sort [选项] 参数​cat file | sort 选项常用选项: 常用选…

计算机综合题汇总

(数学计算题) 把6个相同的球分到三个不同的学生身上,允许有的学生没有球,请问有多少种不同的方法? C(8,2)=28。 典型的插板问题,直接套公式,C(n+m-1,m-1)。6个球,本身5个空,有同学可以不分,再加3个空,共8个空;插入2个板。 (软件选择题) 软件质量保证是什么? A. 确保…

超外差收音机的制作-电子线路课程设计-实验课

超外差收音机的制作 一、原理部分: 超外差收音机:超外差式收音机是将接收到的不同频率的高频信号全部变成一个固定的中频信号进行放大,因而电路对各种电台信号的放大量基本是相同的,这样可以使中放电路具有优良的频率特性。 超…

Adobe考证

在数字化时代,Adobe软件已成为许多人工作和创造的必备工具。为了证明自己在使用Adobe软件方面的专业能力,许多人选择参加Adobe认证考试并获取Adobe认证证书。 本文将从以下几个方面介绍Adobe考证的相关内容...... 什么是Adobe认证考试? Ado…

我的面试八股(JAVA并发)

重点AQS以及几种锁的底层需要补充!!!!! 程序计数器为什么是线程私有的? 程序计数器主要有下面两个作用: 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制&#xff0c…

VS Code配置C/C++开发环境

一、VS Code安装C/C++插件 二、配置MinGW 进入下载页面mingw-w64,找到winlibs-x86_64-mcf-seh-gcc-13.0.1-snapshot20230402-mingw-w64ucrt-11.0.0-r1.7z,点击下载。将文件放到自己想要放置的盘符下面,然后解压,将里面的mingw64目录剪切到最外层。 拷贝目录,将目录添加到…

【静态Web架构】静态站点生成器概述 Gatsby ,Hugo 和Jekyll对比

在本文中,您将看到三种最好的静态站点生成器的比较,它们的优点、缺点以及您应该使用它们的原因。网站统治着网络,无论是静态的还是动态的。虽然现在很多网站都是动态的,但是静态的仍然很受欢迎。事实上,静态网站的使用…

高频丙类谐振功率放大器【Multisim】【高频电子线路】

目录 一、实验目的与要求 二、实验仪器 三、实验内容与测试结果 1、观察输入、输出波形 2、观察不同工作状态下的集电极电流波形 3、测试负载特性 4、测试集电极调制特性 四、实验结果分析 五、参考资料 一、实验目的与要求 1、通过实验加深理解高频谐振功率放大器电路…

R -- 层次聚类和划分聚类

brief 聚类分析是一种数据归约技术,旨在揭漏一个数据集中观测值的子类。子类内部之间相似度最高,子类之间差异性最大。至于这个相似度是一个个性化的定义了,所以有很多聚类方法。 最常用的聚类方法包括层次聚类和划分聚类。 层次聚类&#…

vscode连接linux

vscode连接linux第一步:下载扩展第二步:打开左侧的那个类似小电脑的选项第三步:点击那个螺丝按钮第四步:选第一个第五步:配置config文件第六步:打开设置第七步:在搜索栏搜索:Always reveal the SSH login terminal第八步:重启vscode第八步:输入密码后,点击右上角号旁边的"…

什么是存算分离架构?

随着硬件技术的快速进步,尤其是网络和存储设备的性能迅速提升,以及云计算厂商推动软硬件协同加速的云存储服务,越来越多的企业开始基于云存储来构建数据存储服务,或数据湖,因此就需要单独再建设一个独立的计算层来提供…

C++ LinuxWebServer 2万7千字的面经长文(上)

⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 前言 Linux Web Server项目虽然是现在C求职者的人手一个的项目,但是想要吃透这个项目&#xff…

不得不说的创建型模式-工厂方法模式

工厂方法模式是创建型模式之一,它定义了一个用于创建对象的接口,但将具体创建的过程延迟到子类中进行。换句话说,它提供了一种通过调用工厂方法来实例化对象的方法,而不是通过直接使用 new 关键字来实例化对象。 下面是一个使用 C…

[架构之路-167]-《软考-系统分析师》-4-据通信与计算机网络-3- 常见局域网与广域网

目录 4 . 3 局域网与广域网 4.3.1 局域网基础知识 1 . 星型结构 2 . 总线结构 3 . 环型结构 4 . 网状结构 4.3.2 以太网技术(接入网) 1 . 以太网基础 2 . 帧结构 3 . 以太网物理层规范 4.3.3 无线局域网(接入网) 1 . …

huggingface TRL是如何实现20B-LLM+Lora+RLHF

huggingface TRL实现20B-LLMLoraRLHFIntroductionWhat is TRL?Training at scale8-bit matrix multiplicationLoraWhat is PEFT?Fine-tuning 20B parameter models with Low Rank Adapter参考Introduction 作者首先表示RLHF在目前LLM的训练中是一种很powerful的方式&#xf…

SpringBoot 整合Quartz定时任务管理【SpringBoot系列18】

SpringCloud 大型系列课程正在制作中,欢迎大家关注与提意见。 程序员每天的CV 与 板砖,也要知其所以然,本系列课程可以帮助初学者学习 SpringBooot 项目开发 与 SpringCloud 微服务系列项目开发 Quartz是由Java语言编写,是OpenSym…