如何在Linux上创build虚拟CAN端口? (C ++)

我想创build一个能模拟CAN端口的程序,用于另一个大的应用程序的testing目的。 程序应该通过这个虚拟CAN发送先前logging的数据。 任何人都有这样的经验吗?

我正在考虑build立虚拟的COM,并通过它打包在CAN帧中的数据。 它可以工作吗? 而我怎么能在Linux上build立虚拟COM? 发现这个线程虚拟串行端口的Linux,但不幸的是,我不明白如何才能实现程序的源代码(初级Linux用户和Linux下的程序员)。

很想看看你的经验和build议。

Solutions Collecting From Web of "如何在Linux上创build虚拟CAN端口? (C ++)"

您需要SocketCAN驱动程序,可以在Ubuntu等现代Linux发行版上使用。SocketCAN提供了一个虚拟的CAN端口驱动程序:

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

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

您还需要can-utils来进行测试。

您可以在eLinux.org上找到更多关于SocketCAN及其用法的信息