Vector - CAPL - CANoe硬件配置函数 - 03

news2024/11/23 15:14:40

 

 

目录

canFlushTxQueue -- 刷新已定义的Tx队列

代码示例

canSetChannelAcc -- CANoe接收过滤器设置

代码示例

canSetChannelMode -- CAN控制器Tx使能/失能

代码示例

canSetChannelOutput -- Ack自应答使能/失能

代码示例

getCardTypeEx -- CAN控制器类型


canFlushTxQueue 

功能:刷新已定义通道的 Tx 队列。

channel:CANoe配置的CAN通道

返回值:

        0:接口不支持刷新 Tx 队列

        1:刷新成功

        -1:刷写错误

代码示例

on key 'f'
{
  int result;
  //刷新 CAN 通道 1 的 Tx 队列

  result = canFlushTxQueue(1);
  if(result == 1)
    write("Tx queue flushed ");
  else
    write("Tx queue flush failed Result =%d ", result);
}

canSetChannelAcc 

功能:CANoe接收过滤器,CAN 控制器控制哪些接收到的消息被发送到 CANoe。
一些控制器芯片,例如 SJA 1000,需要划分为验收掩码和验收代码。

注意:此功能只能与 Vector 驱动程序一起使用。 vcndrvms.DLL 的版本必须至少为 4.2.40。

channel:CANoe配置的CAN通道

code:接收到的报文

mask:掩码(与code做与运算过滤)

返回值:

        0:成功

        !=0:失败

代码示例

on key 'a'
{
    /*
    区分过滤器是用于标准标识符还是扩展标识符。 对于扩展标识符,设置代码的 MSB 和掩码。
    描述:
    不同的端口可能对一个通道有不同的过滤器。 如果 CAN 硬件无法实现过滤器,则驱动程序会虚拟化过滤。
    接受 if ((id ^ code) & mask) == 0)。
    */
   long channel =2;
   dword code=0x10;
   dword mask=0x10;
   canSetChannelAcc(channel,code,mask);
   write("channel mask set");
}

canSetChannelMode 

功能:激活/停用 CAN 控制器的 TXRQ 和 Tx。 该函数对 Ack 位没有任何作用。

注意:此功能只能与 Vector 驱动程序一起使用。 vcndrvms.DLL 的版本必须至少为 4.2.40。

channel

CANoe配置的CAN通道

gtx

0

tx 关闭

1

tx 打开

gtxreq

0

gtxreq 关闭

1

gtxreq 打开

代码示例

on key 't'
{
   long channel =2;
   char gtx =1;
   char gtxreq =1;
   canSetChannelMode(channel,gtx,gtxreq);
   Write("Mode set to tx=%d, txreq=%d",gtx,gtxreq);
}

canSetChannelOutput 

功能:定义 CAN 控制器对总线的响应并设置 ACK 位。通道的 CAN 发送器关闭。 所以CANoe这里不产生Ack位,消息就不能再发送了。 仍然可以接收消息。

注意:此功能只能与 Vector 驱动程序一起使用。 vcndrvms.DLL 的版本必须至少为 4.2.40。

参数: 

channel

CAN channel

silent

0

silent

1

normal

返回值:

        0:设置成功

        !=0:设置失败

代码示例

on key 's'
{
   long channel =2;
      long silent =0;
   canSetChannelOutput(channel,silent);
   Write("silent set to %d",silent);
}

getCardTypeEx 

功能:确认 CAN 控制器类型,是否需要 对 BTR / OCR 值进行编程。

can:CAN通道值

返回值:

        

返回值产品类型
-1Unknown or Invalid hardware type
3DEMO - Demo driver
25Vector PCMCIA CANcardXL
27Vector USB CANcaseXL
28Vector CANcaseXLLog (USB + memory)
29Vector CANboardXL PCI
30Vector CPCI CANboardXL Compact
31Vector CANboardXL PCI express
33Vector VN7600
34Vector ExpressCard CANcardXLe
36Vector VN3300
37Vector VN3600
38Vector VN2610
40Vector VN8950
41Remote (IP) Device
43Vector VN8910
46Vector VT6104
47Vector VN8970
48Vector VN2640
49Vector VN1610
50Vector VN1611
51Vector VN1630
52Vector VN1640
53Vector VN5610
54Vector VN7570
55Vector IP Server
56Vector VT6204
61Vector VN7572
62Vector VN8972
63Vector VN7610
71Vector VN5640
75Vector VX1131
76Vector VN5610A

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

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

相关文章

Node.js 与 TypeScript

目录 1、什么是 TypeScript 2、运行TypeScript 3、TypeScript 在Node.js 生态中的情况 1、什么是 TypeScript TypeScript是一种流行的开源语言,由微软维护和开发。它受到了世界各地许多软件开发人员的喜爱和使用。 基本上,它是JavaScript的超集&…

信号完整性基础03:反射与阻抗匹配(1)

说在开头:关于“惰性气体” 英国剑桥大学当时的校长是:威廉.卡文迪许公爵,他的祖上有一位“科学怪人”:亨利.卡文迪许,他一辈子深居简出,淡泊名利,从不靠刷论文来体现自己的学术水平&#xff0…

VMware NSX Advanced Load Balancer (NSX ALB) 22.1.3 - 负载均衡平台

请访问原文链接:https://sysin.org/blog/vmware-nsx-alb-22/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 负载均衡平台 NSX Advanced Load Balancer NSX Advanced Load Balancer (Avi) 可简化应用交付&#xff…

关于儿童急性感染性腹泻

腹泻是一种常见的症状,可导致儿童生长发育迟滞和营养不良。根据世界卫生组织(WHO)发布的数据显示,急性腹泻在5岁以下儿童死亡原因中排第二位,仅次于肺炎。引起儿童腹泻的原因包括感染和非感染因素,后者主要…

C语言CRC-16 XMODEM格式校验函数

C语言CRC-16 XMODEM格式校验函数 CRC-16校验产生2个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。基本的CRC-16校验算法实现,参考: C语言标准CRC-16校验函数。 不同应用规范通过对…

一文快速入门体验 Hibernate

前言 Hibernate 是一个优秀的持久层的框架,当然,虽然现在说用得比较多的是 MyBaits,但是我工作中也不得不接触 Hibernate,特别是一些老项目需要你维护的时候。所以,在此写下这篇文章,方便自己回顾&#xf…

vue+Nodejs+Koa搭建前后端系统(五)--Nodejs中使用数据库

连接数据库 1.开启mysql服务 以管理员身份运行cmd,输入: net start mysql2.登录 root用户、创建新用户、赋予新用户权限 如果你用root用户作为node的连接用户,这一步可以略过。 (1)登录root: mysql -…

多功能文档应用程序Codex Docs

什么是 Codex Docs ? CodeX Docs 是一个简单的免费应用程序,适用于您的内部、公共或个人文档。它基于Editor.js,允许使用漂亮干净的 UI 处理内容。 官方提供了演示站点:https://docs-demo.codex.so/about-this-demo 安装 在群晖…

CIAA 网络安全模型 — 数据传输安全

目录 文章目录 目录网络传输 CIAA 安全模型机密性(Confidentiality)对称加密非对称加密混合加密 完整性(Integrity)L2 数据链路层的 CRC 强校验L3 网络层的 Checksum 弱校验L4 传输层的 Checksum 弱校验安全层的 Checksum 强校验 …

解决:component COMDLG32.OCX or one of…和 MSCOMCTL.OCX or one of...的解决方法

遇到的问题: 在做CTF题目 使用16进制转图片工具 出现了两个报错! 解决方法: 第一步:下载COMDLG32.OCX 程序(可以去官网)也可也使用我的百度网盘 http://链接:https://pan.baidu.com/s/1-1KNg…

本地部署 闻达:一个LLM调用平台

本地部署 闻达:一个LLM调用平台 1. 什么是 闻达2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 闻达6. 下载各个 model7. 配置各个 model8. 使用 RWKV-4-Raven-14B-v11x 启动9. 使用 chatglm-6b-int4 启动10. 使用 stable-vicuna-13B 启动11. 使用 moss-m…

SpringFramework

🏡个人主页 : 守夜人st 🚀系列专栏:Spring …持续更新中敬请关注… 🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点 目录 Springspring概述1 Spring定义2 Sp…

我的创作纪念日(2)设置飞机进行调优

文章目录 前言 2.1 电池设置 2.2 电机设置 2.3 PID控制器初始设置 前言 以下参数应根据你的飞机的规格正确设置。每一个都会影响调优过程的质量。 2.1 电池设置 确保你的 VTOL 电机的推力曲线尽可能的线性是非常重要的。一个线性的推力曲线意味着电机产生的实际推力的变化…

GuassDB数据库的GRANT REVOKE

目录 一、GaussDB的权限概述 二、GaussDB权限设计建议 三、GaussDB的GRANT命令 1.功能说明 2.注意事项 3.常用语法 四、GaussDB的REVOKE命令用法 1.功能说明 2.注意事项 3.常用语法 五、GaussDB示例 1.GRANT 语句示例 2.REVOKE 语句示例 一、GaussDB的权限概述 在…

电气设备绝缘在线监测系统的原理

摘要:在线监测是控制好电气设备绝缘的重要方式,为电力系统稳定奠定重要基础。在线监测电气设备时,要利用检测技术促进电力系统运行效率提升,让电气设备在具体工作过程中发挥更大作用。本次研究中主要分析了电气设备绝缘在线监测系…

单开网页应用利器 - BroadcastChannel

前言 前段时间在做一个基于 psd 模板生成图片的应用,其中重要的功能就是打开编辑器页面来设计出图。但是有个问题,每当我点击一个模板,就会新开一个浏览器页签。现代浏览器是以空间换时间的运行思路来提高效率,这就导致了内存开销…

单片机c51中断 — 中断键控流水灯

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章,中断 在第4章的实例2中,按键检测是采用查询法进行的,其流程图如图所示 问题是这样的:由于查询法 -按键查询、标志位修改及彩灯循环几个环节是串联关系…

微信小程序从入门到精通

目录 前言一,初学小程序1.1 小程序概述1.2 基础配置1.2.1 注册开发账号1.2.2 获取AppID1.2.3 微信开发者工具1.2.4 修改代理模式 1.3 第一个小程序1.4 开发文档1.5 机型1.6 项目基本结构1.6.1 页面内部文件1.6.2 app.json1.6.3 project.config.json1.6.4 sitemap.js…

开关电源基础07:离线式开关电源变压器设计(1)

说在开头:关于第六届索尔维会议(2) 爱因斯坦一天都挺开心的,反正难题出给了玻尔,他还在自己的房间里拉起了小提琴,有人说爱因斯坦小提琴拉的跟锯木头一样,那也不至于那么夸张,但是水…

RK3568平台开发系列讲解(Linux内存篇)Linux内存管理框架

🚀返回专栏总目录 文章目录 一、内核态内存分配二、用户态内存分配三、内存篇章更新哪些内容沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起将整个内存管理的体系串起来。 对于内存的分配需求,可能来自内核态,也可能来自用户态。 一、内核态内存分配…