本文档提供将 TestBaseVCI 硬件设备适配到python-can 库的详细操作指南。
环境依赖
使用前请确保满足以下环境要求:
- 操作系统:Windows 10/11, Ubuntu 20/22
- 硬件驱动:TestBaseVCI 驱动程序 2.4.1+(下载链接:TestBaseVCI硬件驱动接口二次开发SDK)
- Python 环境 :64 位 Python 3.7+
- 第三方库: python-can
安装
- 确保已安装 TestBaseVCI 驱动程序(参见上方环境要求)。
- 使用 pip 安装 python-can-hirain:
pip install python-can-hirain安装后,`hrcan` 接口会自动注册到 python-can 中,无需手动复制文件或修改 `__init__.py`。
CAN 通信示例
import can
import time
# 初始化 CAN 通道
with can.Bus(interface="hrcan", channel=0, # 激活通道0为CANFD通道
configs=[{
'resistance': 1, # 启用终端电阻
'mode': TestBaseVCI_ChlMode.CAN, # 设置CAN通道
'listenFlag': 0, # 0-正常状态,1-通道为仅监听状态,不给ACK响应
'baudrate': 500_000,
'samplePoint': TestBaseVCI_SAMPLEPOINT.SAMPLE_75
}]) as bus:
pass
# 初始化 CANFD 通道
with can.Bus(interface="hrcan", channel=0, # 激活通道0为CANFD通道
configs=[{
'resistance': 1, # 启用终端电阻
'mode': TestBaseVCI_ChlMode.CANFD, # 设置CANFD通道
'listenFlag': 0, # 0-正常状态,1-通道为仅监听状态,不给ACK响应
'abrBaudrate': 500_000,
'dbrBaudrate': 2000_000,
'abrSamplePoint': TestBaseVCI_SAMPLEPOINT.SAMPLE_80,
'dbrSamplePoint': TestBaseVCI_SAMPLEPOINT.SAMPLE_80
}]) as bus:
pass
更多示例
查看 `/TestBaseVCI硬件驱动接口二次开发SDK/Examples/TestBaseVCI_Py_PythonCAN/demo`目录获取完整示例:
- `Test_can.py` - 经典 CAN 操作示例
- `Test_Canfd.py` - CAN FD 操作示例
注意事项
- Linux 系统上使用 `sudo` 时,可能需要添加 `-E` 参数保留环境变量。
- 使用前请确认设备能被系统识别。
支持
有关详细配置参数和高级用法,请参考 python-can 官方文档和 HIRAIN 二次开发 SDK 手册。