问题标签 [canutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
185 浏览

linux - Linux MCP2551 CAN Bus:一帧后停止工作

这几天我遇到了一个问题,我的 Can Bus 在发送第一条消息后停止工作。

我使用 IOT-Gate-RPI 作为客户端,它具有 raspberry pi 3 计算模块和带有用于 can Bus 的 MCP2551 芯片的集成帽子。线路的另一端,作为显示器,我使用的是运行在 W10 上的 IXXAT 软件 CANAnalyzer 3 Mini。

这是我在 Linux 上的设置:在 /Boot/config.txt 上,我添加了:

我还确保它将在启动时安装:

然后,使用 can-utils:

到目前为止,一切顺利,消息出现在另一边的监视器上。但是,如果我再次发送它,什么都没有出现,我必须将 can0 设置为向下然后向上,以便能够发送新消息。

[编辑 2021-02-10] 正如@Lundin 所问,我使用了示波器来检查信号形状。因此,为了解释新设置,数据由连接在 CAN 总线上的 BMS(电池管理系统)连续发送。在第一张图片上,只有这个 BMS 和一个 IXXAT CAN 转 USB 加密狗。信号非常整洁,所有数据都安全到达。在第二张图片中,我只是插入了我的 IOT-Gate-RPI 的 MCP2515 帽子,信号直接变得混乱。而且我只能如上所述发送一帧。

图片1

图片_2

Compulab 在 IOT-Gate-RPI 上给出的引脚排列也是第三张图片中的引脚排列。根据图 4,您将给出哪个引脚?

1 = ? 2 = ? 3 = ? 4 = ? 5 = ? 6 = ?

图片_3

图片_4

非常感谢您的帮助。

此致

0 投票
0 回答
13 浏览

linux - 如何阻止我的 CAN 配置在重启时被擦除?

我有一个 6 通道 CAN 加密狗连接到我的远程 Ubuntu 机器上,我用它来记录不同比特率的 CAN 数据。

使用以下命令按名称和比特率配置每个通道:

理想情况下,我希望这些 CAN 总线在机器重新启动时使用我的配置自动初始化。据了解,它们在重新启动时会被删除,我必须运行我编写的 BASH 脚本来重新初始化它们。

重新启动后自动重新配置我的 can bus 的最佳方法是什么?

0 投票
0 回答
35 浏览

cross-compiling - socketcan 将流量从 beaglebone 转发到主机 PC

我正在努力寻找一种方法,将 beaglebone black can1 接口上的 can 流量转发到我的开发主机。

长篇大论:

我为 beaglebone black(bbb) 编写了一个使用 can 接口的软件。通常,我会在 debian 10 主机上使用 multilib 进行交叉编译 .... 只要内核版本没有太大差异,它就可以很好地工作。

开发主机运行4.19内核,bbb运行5.14内核。尝试使用 socketcan 的东西交叉编译 bbb 会带来很多错误,因为 socketcan 版本不同。

为了解决这个问题,我尝试通过以太网将 bbb-can1 接口上的流量转发到主机 PC 上的端口,这样我就可以在开发主机上测试大部分软件,并通过微小的更改编译“真实”软件后来上bbb。

我该怎么做,或者有更好的方法来完成工作。

谢谢菊

0 投票
1 回答
172 浏览

raspberry-pi - can0 监听 can-bus 但没有数据出现

我正在尝试用覆盆子读取车辆上的 CAN-BUS(CAN 连接到覆盆子上的 DB9 连接器)。车辆也为覆盆子提供能量。

这是我的堆栈:

Bosch CAN-Bus Board PiCAN3机器的协议 CAN “ISO 15765 CAN” :Raspberry pi 4 驱动程序/总线类型:socketCAN 库:CAN utils




我遵循了这些说明

注意 1:当我在终端中打开另一个选项卡并使用以下命令发送 can 消息时:

2行数据确实出现在听can0的选项卡中,就像它只显示我正在发送的内容而不是车辆发送的内容。

注意 2 :这里是 can0 设备的 ifconfig 命令的结果

有人知道为什么我从车辆中获得零数据吗?

这是我尝试过的教程,所有这些,问题都是一样的:
1:copperhilltech
2:打开车库
3:哈里森的盒子

0 投票
1 回答
108 浏览

c++ - QT中的CAN通信

QT 中的 CAN 通信存在特定问题。发送/写入 CAN 消息不是问题,但 QT 中的 readFrame() 函数不会加载我收到的帧。如果您在 C++ 中实现 CAN 通信,您可以使用 read() 和 write() 函数。但在 QT 中不受支持。一般来说,读取功能会中断程序,直到收到消息,我如何在 QT 中做同样的事情?

感谢您的帮助,我真的很感激!