我正在尝试使用canplayer重播一些candump文件,但没有成功.当我尝试运行canplayer时,它只是执行并返回,不知道发生了什么.
我到目前为止所做的尝试:
设置1
设置2
我在两台运行Ubuntu 12.04的不同机器上尝试过这些测试,结果相同.
你知道它可能是什么原因吗?
简而言之,我希望candump只向我显示ID为0x00200200或0x255的帧.
所以我这样做:
candump can0,00200200:0,255:0
Run Code Online (Sandbox Code Playgroud)
但这会给出所有帧,每帧显示两次.即输出:
cansend can0 256#112233
Run Code Online (Sandbox Code Playgroud)
会是这样的:
can0 256 [3] 11 22 33
can0 256 [3] 11 22 33
Run Code Online (Sandbox Code Playgroud)
除了过滤器不像我预期的那样并且通过0x256之外,它显示两次的事实表明这些帧实际上是由两个滤波器匹配的,这对我来说更没意义.任何人都可以解释为什么会这样,也许可以告诉我正确的方法吗?
我已经设置了两个 vcan 设备,我想将它们视为连接在一起。我希望能够使用 can-utils candump 在一行上侦听,并从另一行发送 can 消息。没有物理设备我怎么能做到这一点?
为了澄清起见,我正在编写软件来通过我已经能够进行的 CAN 通信,但为了促进实际数据收集和进一步开发,我需要两个启用了 CAN 的设备相互通信。虽然现实世界中的一个简单解决方案是通过将设备物理连接在一起来解决的,但我需要一个可以在计算机上运行的程序化解决方案。
我一直在使用 SocketCAN,尤其是 Virtual CAN vcan 已经有一段时间了。但是,到目前为止,我从未使用过 CAN FD(灵活数据速率)。
好吧,我今天早上使用 can-utils 尝试了它:
cansend vcan0 123##122
Run Code Online (Sandbox Code Playgroud)
但是,我得到了“CAN 接口不支持 CAN FD”的响应。已使用以下终端命令创建了 vcan 接口:
ip link add dev vcan0 type vcan
ip link set up vcan0
Run Code Online (Sandbox Code Playgroud)
有人知道vcan是否支持CAN FD吗?如果是,如何设置支持 CAN FD 的 vcan 接口?
系统配置:VirtualBox 上的 Ubuntu 14.04.1。
提前致谢,MAW