Documentation Index
Fetch the complete documentation index at: https://motorbridge.seeedstudio.com/llms.txt
Use this file to discover all available pages before exploring further.
Source:
docs/zh/can_debugging.mdCAN 调试指南(Linux slcan + Windows pcan)
本文档是本项目通道配置与链路排障的统一手册。
1. 范围与后端映射
- Linux 后端:SocketCAN(
can0、can1、slcan0等) - Windows 后端:PEAK PCAN(依赖
PCANBasic.dll,can0/can1映射到PCAN_USBBUS1/2)
- Linux:波特率在网卡初始化时设置,不要写进
--channel。 - Windows PCAN:
--channel支持可选@bitrate后缀(如can0@1000000)。
2. Linux slcan 初始化与验收
2.1 拉起 slcan0
- 能看到
slcan0网卡 - 状态为
UP(或UNKNOWN)
2.2 链路最小自检
终端 A:candump 无帧,优先检查接线、终端电阻、以及电机端波特率是否一致。
2.3 在 slcan0 上跑 motor_cli
3. Linux 原生 SocketCAN(can0)快检
RX errors、TX errors、bus-off、re-started
bus-off 持续增长,先处理物理层:终端电阻、地线参考、电机波特率一致性。
4. Windows PCAN 初始化与验收
4.1 前置条件
- 已安装 PEAK 驱动
- 已安装 PCAN-Basic 运行时(
PCANBasic.dll可加载) - 在 PEAK 工具中可见对应 USB 通道
4.2 本项目通道约定
can0->PCAN_USBBUS1can1->PCAN_USBBUS2- 可选波特率后缀:
can0@1000000
4.3 验证命令
load PCANBasic.dll failed,先解决运行时/DLL 搜索路径问题。
5. 报错到动作(Error-to-Action)
Linux SocketCAN 路径
if_nametoindex failed ...:- 通道名错误,或网卡未创建/未拉起
- 动作:
ip link show,重新创建slcan0或拉起can0
socketcan write failed/socketcan read failed且提示interface is down:- 动作:
ip -details link show <ifname>,再执行ip link set <ifname> up
- 动作:
... unavailable/interface not found:- 动作:检查 USB-CAN 连接与网卡命名
Windows PCAN 路径
load PCANBasic.dll failed:- 动作:安装 PCAN-Basic,重开终端/IDE 使 DLL 可被加载
PCAN initialize failed: status=...:- 动作:核对
can0/can1映射、@bitrate、适配器占用状态
- 动作:核对
- 持续重连失败:
- 动作:检查线缆、终端电阻、供电和 PEAK 通道占用
6. 跨平台最小验收清单
- Linux
can0:扫描能返回预期电机 ID - Linux
slcan0:按slcand初始化后扫描同样可通 - Windows
can0@1000000:扫描能成功 - 各环境至少执行 1 条控制命令(
mit或pos-vel)成功
pcan + slcan 支持已对齐。