爱站网ip反查域名,网页设计与制作总结报告,附近网站电脑培训班,怎么查询网站点击量在Linux系统中观察看CAN报文#xff0c;我们一般使用candump#xff0c;但是有时候会发现总线上CAN报文太多#xff0c;例如开启了好几个PDO#xff0c;这就导致想看的报文被夹杂到报文的海洋里#xff0c;然后再去找#xff0c;非常麻烦。
candump也提供了只观察某个报…在Linux系统中观察看CAN报文我们一般使用candump但是有时候会发现总线上CAN报文太多例如开启了好几个PDO这就导致想看的报文被夹杂到报文的海洋里然后再去找非常麻烦。
candump也提供了只观察某个报文的功能但是一次只能观察一个如果想观察多个报文那就要开启多个candump而且candump的命令行不是太友好经常要多次测试。
本人找到一个比较好的办法就是使用Linux提供的grep命令来提取需要的CAN报文。 一 方法
假设总线叫vcan0设备id是0x10协议是CANopen那么如果只想观察0x10的SDO发送报文那么命令如下
candump vcan0 | grep 610如果同时还想观察0x10的SDO应答报文那么命令可以修改如下
candump vcan0 | grep -E 610|590“-E”选项可以让“|”变成或的意思这里是抓取信息中含610或含590的报文同理可以根据需要来提取多个报文 二 实践
这里开启三个终端
第一个用cansend来发送报文第二个使用candump直接观察报文第三个使用candumpgrep来实践本文方法。
这里candumpgrep的组合如下
candump vcan0 | grep -E 610|590首先使用cansend发现2条报文如下
cansend vcan0 610#1122334455667788
cansend vcan0 611#1122334455667788
cansend vcan0 612#1122334455667788
cansend vcan0 590#1122334455667788然后在第二个终端下观察到报文如下
而在第三个终端下观察到的报文如下
可以看到和预期一样。
另外由于grep使用正则表达式那么只要简单学下就可以根据需要提取任何报文了非常方便。 三 总结
本文讲述了如何使用grep来查看需要的CAN报文如果再熟悉下正则表达式那就是如虎添翼了。
最后本人最近开启了微信公众号欢迎大家关注