当前位置: 首页 > news >正文

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

 

 

目录

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 ");elsewrite("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.lryc.cn/news/67175.html

相关文章:

  • 单开网页应用利器 - BroadcastChannel
  • OpenCv更改颜色空间以及图像阈值
  • (邱维声)高等代数课程笔记:基,维数与坐标
  • Spring Security + Jwt 集成实现登录
  • yolov5 用自己的数据集进行训练
  • 1951-2023最新中国基础地理信息,包括水系、行政区、DEM高程、气象站经纬位置、土地利用,这些数据获取方法介绍
  • CAD处理控件Aspose.CAD功能演示:在 C#中以编程方式搜索 DWG 图形文件中的文本
  • 实验二十、压控电压源二阶 LPF 幅频特性的研究
  • 类和对象【C++】【中篇】
  • 2.SpringBoot运维实用篇
  • 【c++】浅讲引用
  • CSS布局基础(文字[行内<块>]与行内[块]垂直对齐方式 文字溢出显示省略号)
  • AI自动写文章_免费在线原创文章生成器
  • Java阶段二Day15
  • 从月薪3000到月薪20000,自动化测试应该这样学...
  • Python魔法方法 单例模式
  • 计算机网络基础知识(三)—— 什么是OSI七层模型?
  • Python(符号计算常微分方程)谐振子牛顿运动方程
  • OpenCL编程指南-1.2OpenCL基本概念
  • 使用 ChatGPT 辅助学习——为自己找一个老师
  • MySQL基础(二十一)用户与权限管理
  • 程序员的下一个风口
  • Android 自定义View 之 简易输入框
  • SpringMVC的基础知识
  • OpenPCDet系列 | 4.2 DataAugmentor点云数据增强模块解析
  • 精准测试之过程与实践 | 京东云技术团队
  • 类ChatGPT逐行代码解读(1/2):从零实现Transformer、ChatGLM-6B
  • 车道线检测
  • 云渲染靠谱吗,使用云渲染会不会被盗作品?
  • 什么是FPGA?关于FPGA基础知识 一起来了解FPGA lattice 深力科 MachXO3系列 LCMXO3LF-9400C-5BG256C