Vector - CAPL - 诊断模块函数(发送及流控制帧)

news2024/9/22 13:28:15

目录

CanTpSendData - 诊断数据的发送 

代码示例

CanTpGetHWSTmin & CanTpSetHWSTmin - 获取和设置硬件STMin的值

代码示例

CanTpSetSTminReduction - 将STmin设置需要的值

代码示例

CanTpGetBlockSize & CanTpSetBlockSize

代码示例

CanTpGetSTmin & CanTpSetSTmin

代码示例


CanTpSendData - 诊断数据的发送 

功能:请求发送字节数组 txData 中的前 txSize 字节。

说明:该函数只会请求发送数据,即它将立即返回。 传输的实际完成是通过回调函数调用来指示的!

connHandle:建立链接的句柄

txData:待发送的数据,例如:22 F1 89或者10 01等

txSize:要发送的数据长度,一般与txData长度保持一致即可

代码示例

发送一个完整的字节数组,即本例中的 10 个字节。

dword length;
BYTE data[3] = {0x22, 0xF1, 0x89};
length = elcount(data)
CanTpSendData( handle, data, length);

CanTpGetHWSTmin & CanTpSetHWSTmin - 获取和设置硬件STMin的值

功能:获取配置为硬件控制 STmin 的值(连续帧之间的间隔时间)。如果硬件支持,则使用连续帧之间给定的间隔时间(以纳秒为单位),无论接收器在其 FlowControl 帧中指示什么。 如果需要快速数据传输,但接收器不支持 STmin = 0 的值,则此功能很有用。ISO TP 协议仅允许 0、100 µs、200 µs 分隔时间,即以 STmin = 50 发送会加速 如果接收者支持的话,传输量会很大。

说明:当前的 Vector 接口(例如 VN16xx 或 VN5610)可使用此功能。 如需详细信息,请联系 Vector 支持。

connHandle:建立链接的句柄

HWSTmin_ns:分离时间以纳秒为单位,连续帧之间帧间隔。

代码示例

发送节点使用的 STmin 值设置为 50 µs;并获取当前硬件STMin值。

long time_ns;
CanTpSetHWSTmin(handle, 50000);

time_ns = CanTpGetHWSTmin(handle);

CanTpSetSTminReduction - 将STmin设置需要的值

功能:该函数允许将发送方节点中实际使用的 STmin 值减少给定的微秒数。该函数允许将发送方节点中实际使用的 STmin 值减少给定的微秒数。 这可以实现更高的吞吐量,尤其是对于较小的 STmin 值。

说明:设置太高的值会导致发送过程中违反 STmin!

connHandle:建立链接的句柄

reduction_us:要设置STmin的值

代码示例

发送节点使用的 STmin 值减少 100 µs。

CanTpSetSTminReduction( handle, 100);

CanTpGetBlockSize & CanTpSetBlockSize

功能:获取和设置连续帧数量的大小

blockSize:

        0:接收方将不再发送流量控制帧。 指示这一点的值可以更改。
        1—127:发送器应在等待流量控制帧之前发送这么多连续帧。

代码示例

//设置流控制帧的block size为0,即可以发送任意数量的连续帧

CanTpSetBlockSize( handle, 0);

CanTpGetSTmin & CanTpSetSTmin

功能:设置和获取流控制帧的STmin的值

STmin:

        0:发射机可以尽可能快地发送其连续帧。
        1—127:发送器必须等待至少此毫秒数 (ms),然后才能发送另一个连续帧。
        0xF1—0xF9:发送器必须等待至少 100—900 微秒 (μs),然后才能发送另一个连续帧。
        Other:保留位

代码示例

//设置STmin的值,设置STmin的值为500微秒

CanTpSetSTmin( handle, 0xF5);

        今天主要介绍的是CAPL通过调用osek.dll文件,然后使用对流控制帧的相关信息进行设置和获取,最后通过CanTpSendData函数进行发送,开发出符合我们需求使用的函数。

 

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

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

相关文章

一文学透设计模式

设计模式是什么? 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案,代表了解决一些问题的最佳实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 说白了,设计模式对于软件开发人员来说就…

一百四十四、Kettle——Linux上安装的kettle8.2连接MySQL数据库

一、目的 在Linux上安装好kettle,然后用kettle连接MySQL数据库 注意:kettle版本是8.2 二、实施步骤 (一)到kettle安装目录下启动Linux的kettle服务 # cd /opt/install/data-integration/ # ./spoon.sh (二&#x…

【前端】搭建Vue3框架

目录 一、搭建准备二、node.js安装1、下载并安装2、配置默认安装目录和缓存日志目录①、创建默认安装目录和缓存日志目录(我的node.js目录在D盘,所以直接在node.js文件夹下创建)②、执行命令,配置默认安装目录和缓存日志目录到刚才…

OpenMesh 网格简化算法(基于边长度)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 网格简化的算法有很多种,基于边结构进行简化的方法便是其中一种方式。此类算法主要关注于它们如何选择要收缩的边,并且似乎都是为流形表面设计的,尽管边缘收缩也可以用于非流形表面,但往往会存在变形较大的问题…

2023-08-05 LeetCode每日一题(合并两个有序链表)

2023-08-05每日一题 一、题目编号 21. 合并两个有序链表二、题目链接 点击跳转到题目位置 三、题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1: 示例2: 示例3: …

AcWing 372. 棋盘覆盖(二分图匈牙利算法)

输入样例&#xff1a; 8 0输出样例&#xff1a; 32 解析&#xff1a; n为100&#xff0c;状压肯定爆。 将每个骨牌看成二分图的一个匹配&#xff0c;即查找二分图的一个最大匹配&#xff0c;匈牙利算法。 #include<bits/stdc.h> using namespace std; const int N105…

漫画 | TCP/IP之大明邮差

后记&#xff1a; 1973年&#xff0c;卡恩与瑟夫开发出了网络中最核心的两个协议&#xff1a;TCP协议和IP协议&#xff0c;随后为了验证两个协议的可用性&#xff0c;他们做了一个实验&#xff0c;在多个异构网络中进行数据传输&#xff0c;数据包在经过近10万公里的旅程后到达…

合并果子C++详解

题目描述 在一个果园里&#xff0c;多多已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并&#xff0c;多多可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。可以看出&#xff0c;…

Golang之路---04 并发编程——信道/通道

信道/通道 如果说 goroutine 是 Go语言程序的并发体的话&#xff0c;那么 channel&#xff08;信道&#xff09; 就是 它们之间的通信机制。channel&#xff0c;是一个可以让一个 goroutine 与另一个 goroutine 传输信息的通道&#xff0c;我把他叫做信道&#xff0c;也有人将…

MIT 6.824 -- MapReduce -- 01

MIT 6.824 -- MapReduce -- 01 引言抽象和实现可扩展性可用性(容错性)一致性MapReduceMap函数和Reduce函数疑问 课程b站视频地址: MIT 6.824 Distributed Systems Spring 2020 分布式系统 推荐伴读读物: 极客时间 – 大数据经典论文解读DDIA – 数据密集型应用大数据相关论文…

kagNet:对常识推理的知识感知图网络 8.4+8.5

这里写目录标题 摘要介绍概述问题陈述推理流程 模式图基础概念识别模式图构造概念网通过寻找路径来匹配子图基于KG嵌入的路径修剪 知识感知图网络图卷积网络&#xff08;GCN&#xff09;关系路径编码分层注意机制 实验数据集和使用步骤比较方法KAGNET是实施细节性能比较和分析I…

Redis实战(5)——Redis实现消息队列

消息队列&#xff0c;顾名思义&#xff0c;就是一个存放消息的队列。最简单的消息队列包含3个角色 生产者&#xff1a;将消息存入队列中队列&#xff1a;存放和管理消息消费者&#xff1a; 将消息从队列中取出来并做业务处理 R e d i s 提供了三种实现消息队列的方式&#x…

【力扣每日一题】2023.8.5 合并两个有序链表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们两个有序的链表&#xff0c;要我们保持升序的状态合并它们。 我们可以马上想要把两个链表都遍历一遍&#xff0c;把所有节点的…

AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧

抠图是图像处理工具的一项必备能力&#xff0c;可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力&#xff0c;那么 SD WebUI 的抠图能力表现如何呢&#xff1f;这篇文章就给大家分享一下。 安装插件 作为一个生成式AI&#xff0c;SD…

aardio:用 WebView 模仿 mdict 界面

aardio&#xff1a;用 WebView 模仿 mdict 界面 import win.ui; /*DSG{{*/ mainForm win.form(text"aardio2";right889;bottom467) mainForm.add( button{cls"button";text"go";left335;top22;right399;bottom41;z2}; button2{cls"button…

基于以太网的煤矿电力监控系统的设计与应用 安科瑞 许敏

摘 要&#xff1a;针对传统煤矿电力监控系统通讯网络性能较差、无法实现准确故障定位及报警、不具备数据交互功能等问题&#xff0c;结合分布式网络及GPS授时技术设计了一套基于工业以太网及RS485总线架构的煤矿电力监控系统&#xff0c;可实现对井下供电网络及设备的远程监控…

C++ 字符串

在C语言中是使用字符型数组来存放字符串&#xff0c;C程序也仍然可以沿用这种方法。不仅如此&#xff0c;C库中还预定义了string类。 1.用字符数组存储和处理字符串 字符串常量是用一对双引号括起来的字符序列。例如"abcd"&#xff0c;"China"都是字符串…

跨域+四种解决方法

文章目录 一、跨域二、JSONP实现跨域请求三、前端代理实现跨域请求四、后端设置请求头实现跨域请求五、Nginx代理实现跨域请求5.1 安装Nginx软件5.2 使用Ubuntu安装nginx 本文是在学习课程满神yyds后记录的笔记&#xff0c;强烈推荐读者去看此课程。 一、跨域 出于浏览器的同…

【力扣】23. 合并 K 个升序链表 <链表指针、堆排序、分治>

目录 【力扣】23. 合并 K 个升序链表题解方法一&#xff1a;暴力&#xff0c;先遍历取出来值到数组中排序&#xff0c;再生成新链表方法二&#xff1a;基础堆排序&#xff08;使用优先队列 PriorityQueue&#xff09;方法三&#xff1a;基础堆排序&#xff08;使用优先队列 Pri…

时序预测 | Matlab实现基于SVR支持向量机回归的电力负荷预测模型

文章目录 预测结果基本介绍程序设计参考资料预测结果 基本介绍 时序预测 | Matlab实现基于SVR支持向量机回归的电力负荷预测模型 支持向量机(英语:support vector machine,常简称为SVM,又名支持向量网络)是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给…