克服端口顺序影响,使用PCAN实现固定设备ID/通道分配

来源:虹科智能互联 虹科干货 | 克服端口顺序影响,使用PCAN实现固定设备ID/通道分配

原文链接:https://mp.weixin.qq.com/s/Ik2fp9sWyI9MiQOOHO1dCA

欢迎关注虹科,为您提供最新资讯!

导读

多设备协同工作是常见的需求。然而,适配器的插入顺序可能会影响到设备的识别和访问,给系统管理带来不便。虹科PCAN能够进行固定设备ID/通道分配,确保设备不受适配器插入顺序的影响,提高系统的稳定性和可靠性。本文将详细介绍如何使用PCAN进行固定设备ID/通道分配,帮助您更好地理解和应用PCAN产品。

在同一台PC上使用多个 PCAN和PCAN-Basic时,在使用设备的过程中,硬件句柄通常从 16 开始分配,然后依次递减。这意味着第一个PCAN将获得硬件句柄16(Handle16),第二个PCAN获得硬件句柄15(Handle15),第三个PCAN获得硬件句柄14(Handle14)...以此类推。但其实可以将某个设备 ID 与硬件句柄连接起来,这样访问特定设备就不受这些适配器插入 USB 端口顺序的影响,可以更好地支持多设备系统的构建和管理。

1 基于PCAN-USB用例

每个 PCAN-USB 硬件(PCAN-USB、PCAN-USB FD、PCAN-USB Pro FD等)都有一个设备 ID(默认为 FFh)。该设备 ID 可通过当前版本的 PCAN-View 进行更改(见如下截图):

确保为连接到同一台机器的每个适配器分配唯一的 ID,不要重复相同的设备 ID,否则整个过程将无法进行。

更改设备 ID 后,打开注册表编辑器,查找以下注册表路径:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pcan_usb]

"Hardware16"="0x201,0x01,0"

"Hardware15"="0x201,0x02,0"

"Hardware14"="0x201,0x05,0"

参数1的说明:

Hardware16 = HardwareHandle16

Hardware15 = HardwareHandle15

.....

Hardware1 = HardwareHandle1

参数 2 的说明:

0x201 = PCAN-USB 和 PCAN-USB ISO

0x202 = PCAN-USB Pro

0x203 = PCAN-USB HUB

0x206 = PCAN-USB Pro FD

0x207 = PCAN-USB FD

参数 3:相应(选定)的设备 ID

0x00,0x01 至 0xff

参数 4 :(仅适用于双通道PCAN,因为每个设备可以有 1 个设备 ID 和 2 个 CAN 通道):

0 = 通道 1

1 = 通道 2

2 基于PCIe板卡用例

由于 PCI/PCIe 的特性,有些系统会放弃上一次启动时识别 PCI/PCIe 设备的顺序;例如在 PCANBasic中,如果为同一类型的多个硬件使用固定硬件通道,就会出现问题。要在基于 PCI/PCIe 的 PCAN 接口设备上为 CAN 通道设置固定硬件手柄,请按照以下步骤操作:

1、确保您的设备具有唯一的设备 ID,例如,可以通过 PCAN-View 的硬件视图进行设置(如前文图示)

2、打开注册表编辑器,查找以下注册表路径:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pcan_pci]

下面是一个例子:

参数1、3、4道理与上文相同,参数2基于 PCI 和 PCIexpress 的卡:

0x103 = PCAN-PCI Express (current version)

0x113 = PCAN-PCI Express FD

0x107 = PCAN-PC/104-Express (current version)

0x117 = PCAN-PC/104-Express FD

0x108 = PCAN-miniPCIe

0x118 = PCAN-miniPCIe FD

0x10A = PCAN-ExpressCard 34

0x109 = PCAN-Chip PCIe

0x119 = PCAN-Chip PCIe FD

0x11A = PCAN-M.2

3、在注册表中设置完条目后,重新启动电脑,在进行开发的过程中,设备ID便不会随着设备上电顺序变化,现在就可以通过固定的硬件句柄访问硬件了。

通过了解和掌握PCAN进行固定设备ID/通道分配的方法,我们能够更好地应对多设备系统中的识别和访问问题,提高系统的稳定性和可靠性。获取更多相关信息,欢迎咨询虹科工作人员。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS-分布式通信

ROS是一个分布式计算环境。一个运行中的ROS系统可以包含分布在多台计算机上多个节点。根据系统的配置方式,任何节点可能随时需要与任何其他节点进行通信。 因此,ROS对网络配置有某些要求: 所有端口上的所有机器之间必须有完整的双向连接。每…

【贪心算法】【中位贪心】LeetCode:100123.执行操作使频率分数最大

涉及知识点 双指针 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 贪心算法 题目 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 你可以对数组执行 至多 k 次操作: 从数组中选择一个下标 i ,将 nums[i] …

ESP32-S单独一个模块怎么用arduino编程和烧录?

摘要:本文介绍一下ESP32-S模块如何用arduino编程,并且烧录。 首先这几个引脚需要进行一定的配置才行。 经过实际测量,发现EN和GPIO15必须要通过电阻上拉和下拉。RST和GPIO0悬空也是可以的。 至于为什么GPIO15需要下拉,请知道的朋友…

刷题第四十五天 1143. 最长公共子序列 1035. 不相交的线 53. 最大子数组和

class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:#dp[i][j] 以i-1 和j-1字符结尾的两个序列拥有的最长公共子序列长度#dp [[0]*(len(text1) 1) for _ in range(len(text2) 1)]result 0for i in range(1, len(text2) 1):for j in ra…

使用Pytorch从零开始构建StyleGAN2

这篇博文是关于 StyleGAN2 的,来自论文Analyzing and Improving the Image Quality of StyleGAN,我们将使用 PyTorch 对其进行干净、简单且可读的实现,并尝试尽可能地还原原始论文。 如果您没有阅读 StyleGAN2 论文。或者不知道它是如何工作…

【LeetCode刷题笔记】155.最小栈

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

【C++初阶】八、初识模板(泛型编程、函数模板、类模板)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【C初阶】七、内存管理 &#xff08;C/C内存分布、C内存管理方式、operator new / delete 函数、定位new表达式&#xff09; -CSDN博客 目录 一 . 泛型编程 二 . 函数模板 函数模板…

Excel只读模式带有密码,怎么办?

打开Excel文件之后发现是只读模式&#xff0c;并且excel只读模式是带有密码的&#xff0c;该如何取消带有密码的excel只读文件呢&#xff1f; 带有密码的只读模式&#xff0c;是设置了excel文件的修改权限&#xff0c;取消修改权限&#xff0c;我们需要先输入密码&#xff0c;…

NET Core使用SkiaSharp生成二维码

在.NET 6之前我们一直是使用QRCoder来生成二维码&#xff08;QRCoder是一个非常强大的生成二维码的组件&#xff0c;用到了System.Drawing.Common 包&#xff09;&#xff0c;然后从.NET 6开始&#xff0c;当为非 Windows 操作系统编译引用代码时&#xff0c;平台分析器会发出编…

计算机图形学头歌合集(题集附解)

目录 CG1-v1.0-点和直线的绘制 第1关&#xff1a;OpenGL点的绘制 第2关&#xff1a;OpenGL简单图形绘制 第3关&#xff1a;OpenGL直线绘制 第4关&#xff1a;0<1直线绘制-dda算法<> 第5关&#xff1a;0<1直线绘制-中点算法<> 第6关&#xff1a;一般直线绘…

网络攻击1——网络安全基本概念与终端安全介绍(僵尸网路、勒索病毒、木马植入、0day漏洞)

目录 网络安全的基本术语 黑客攻击路径 终端安全 僵尸网络 勒索病毒 挖矿病毒 宏病毒 木马的植入 0day漏洞 流氓/间谍软件 网络安全的基本术语 网络安全的定义&#xff08;CIA原则&#xff09; 数据的保密性Confidentiality&#xff08;对称/非对称秘钥&#xff09; …

「Leetcode」滑动窗口—长度最小的子数组

&#x1f4bb;文章目录 &#x1f4c4;题目✏️题目解析 & 思路&#x1f4d3;总结 &#x1f4c4;题目 209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …,…