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

相关推荐
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
其实防守也摸鱼2 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
万联WANFLOW2 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
衍玊3 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip
.Bryce.3 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测
Black蜡笔小新4 小时前
上云网关/端口穿透/设备上云EasyNTS:无需公网IP、也不改防火墙,设备怎么从内网跑到外网去
网络·网络协议·tcp/ip
Escalating_xu6 小时前
【Linux 网络编程】五种 I/O 模型与非阻塞 I/O:从“等数据”到正确处理 EAGAIN
java·linux·网络
默|笙7 小时前
【Linux网络】传输层协议TCP(3)滑动窗口、流量控制
linux·网络·tcp/ip
xiaoye-duck8 小时前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(中):全量响应实现和测试
网络·c++·语言模型·chatgpt
无言听风雨丶9 小时前
systemd 与信号 / 僵尸进程:Linux 进程管理的底层逻辑与排错
linux·服务器·网络