[BeagleBone Black with Debian 9.5][CAN] 无法在 CAN1 中使用 cansend 发送 CAN 数据

问题描述 投票:0回答:0

感谢您阅读这个问题,我在发送数据到 can1 时遇到了问题。 我使用的 CAN 收发器是TJA1050 高速 CAN 收发器。 我将 CAN 收发器连接到 PCAN-USB Pro 分析仪,它也可以发送/接收消息。 我已经按照这篇文章中关于如何在 Beaglebone Black 中使用 CAN 的教程步骤进行操作: https://www.thomas-wedemeyer.de/de/electronic/arm/beaglebone/canbus-python/

根据指南,这是我执行的配置步骤:

sudo config-pin p9.24 can
sudo config-pin p9.26 can
sudo ip link set can1 up type can bitrate 250000
sudo ifconfig can1 up

我已经使用命令

ip -det link show can1
检查了can1状态: can1 initial state = ERROR-ACTIVE

我使用命令

candump can1 > candump.log &
将在后台运行的 candump 日志的结果转储到一个文件中,我还在 P9.24 中连接了一个振荡器引脚以检查它是否会发送数据(电压变化)。

当我使用 cansend 发送示例数据时

cansend can1 100#FF.00.FF.11.22
(CAN MSG ID:100,CAN 数据:FF.00.FF.11.22 仅示例值)在 candump.log 文件中没有结果,并且也没有变化示波器读数中的电压。我再次检查了 can1 状态,它现在处于 BUS-OFF 状态,这意味着存在 bit erroracknowledgement errorcan1 state = BUS-OFF Oscilloscope reading, no change in voltage

我的猜测是写数据的时候发生了总线位错误,因为它不能把数据写到总线上。这似乎也不太可能是确认错误,因为我没有看到示波器读数正在传输数据。也许有一些配置可以启用 can 总线或我错过的指南中未列出的其他配置?

非常感谢您的帮助。

我已经尝试了类似问题的其他可能解决方案,但仍然无法解决问题。 类似提问: https://github.com/beagleboard/bb.org-overlays/issues/158 https://forum.beagleboard.org/t/bbb-can-tx-only-works-at-loop-situation/31006/12 BeagleBone Black(BBB) CAN TX 数据包显示零计数

beagleboneblack can-bus
© www.soinside.com 2019 - 2024. All rights reserved.