CAN通信-应用

up起来

驱动加载完成,使用ifconfig -a 可以看到两个节点

复制代码
can0: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 64

can1: flags=128<NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 65

我们需要第一件事是把节点up起来

复制代码
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up

sudo ip link set can1 type can bitrate 500000
sudo ip link set can1 up

ifconfig 可以看到can0 can1两个节点。

测试

can-utils工具

can-utils是一个用于Linux的CAN(Controller Area Network)工具包,它提供了一组命令行工具,用于与CAN总线进行通信、分析和测试。这些工具非常有用,特别是在嵌入式系统、汽车领域以及需要CAN通信的应用程序中。

以下是can-utils工具包中一些常用的命令行工具:

  1. candump: 用于监听CAN总线上的数据帧。可以用来捕获CAN消息并将其显示在终端上。

  2. cansend: 用于向CAN总线发送CAN消息。您可以使用它来模拟CAN消息的发送。

  3. cangen: 生成CAN消息序列,可以用于测试CAN接收器的性能。

  4. canplayer: 从日志文件中重放CAN消息,以便重现先前的CAN通信。

  5. cansniffer: 用于捕获CAN总线上的数据,并以更详细的格式显示CAN消息,包括时间戳等信息。

  6. canbusload: 用于评估CAN总线的负载情况,以检查总线是否过载。

我们把两个端口短接

使用两个终端测试可以看到收到信息

cansend can0 123#1122334455667788

candump can1 //可以收到数据can1 123 [8] 11 22 33 44 55 66 77 88

相关推荐
sunfove4 小时前
光网络的立交桥:光开关 (Optical Switch) 原理与主流技术解析
网络
Kevin Wang7277 小时前
欧拉系统服务部署注意事项
网络·windows
min1811234567 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
汤愈韬7 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
zbtlink8 小时前
现在还需要带电池的路由器吗?是用来干嘛的?
网络·智能路由器
桌面运维家8 小时前
vDisk配置漂移怎么办?VOI/IDV架构故障快速修复
网络·架构
dalerkd8 小时前
忙里偷闲叙-谈谈最近两年
网络·安全·web安全
汤愈韬9 小时前
NAT ALG (应用层网关)
网络·网络协议·网络安全·security·huawei
运维栈记10 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
五仁火烧10 小时前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue