我想创建一个程序来模拟 CAN 端口,以便为另一个大型应用程序进行测试。程序应通过该虚拟 CAN 发送先前记录的数据。有人有这样的经历吗?

我正在考虑建立虚拟COM,并通过它发送封装在CAN 帧中的数据。能行吗?那么如何在linux上建立虚拟COM呢?找到了这个线程 Linux 虚拟串口但遗憾的是我不明白如何将它实现到程序的源代码中(Linux 初学者和 Linux 下的程序员)。

很想阅读您的经验和建议。

有帮助吗?

解决方案

你需要 套接字CAN 驱动程序,可在 Ubuntu 等现代 Linux 发行版上使用。SocketCAN提供虚拟CAN端口驱动:

sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0

现在您可以通过以下方式发送和接收 CAN 帧 vcan0 设备。维基百科文章提供了有关如何使用 SocketCAN 的简单代码示例。

你还需要 can-utils 用于测试目的。

您可以在以下位置找到有关 SocketCAN 及其用法的更多信息 eLinux.org

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top