如何在Linux上创建虚拟CAN端口?(C ++)
我想创建一个程序来模拟CAN端口,以用于另一个大型应用程序的测试。程序应通过此虚拟CAN发送以前记录的数据。有人对这种东西有经验吗?
我正在考虑建立虚拟COM,并通过它发送打包在CAN框架中的数据。能行吗?以及如何在Linux上建立虚拟COM?找到了用于Linux的线程虚拟串行端口, 但可惜我不知道如何将其实现为程序的源代码(初学者linux用户和linux下的程序员)。
很想阅读您的经验和建议。
回答:
您需要SocketCAN驱动程序,该驱动程序可在Ubuntu等现代Linux发行版中找到。SocketCAN提供虚拟CAN端口驱动程序:
sudo modprobe vcansudo ip link add dev vcan0 type vcan
sudo ip link set up vcan0
现在,您可以通过vcan0
设备发送和接收CAN帧。维基百科文章提供了有关如何使用SocketCAN的简单代码示例。
您还需要can-utils进行测试。
您可以在eLinux.org上找到有关SocketCAN及其用法的更多信息。
以上是 如何在Linux上创建虚拟CAN端口?(C ++) 的全部内容, 来源链接: utcz.com/qa/429782.html