下面是一个简单的例子,使用 SocketCAN 在 Linux 中收发 CAN 数据。
首先,需要在系统中安装 SocketCAN 工具,如果还没有安装,可以使用下面的命令进行安装:
sudo apt-get install can-utils
然后,我们可以使用下面的代码来收发 CAN 数据:
``` #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <net/if.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <linux/can.h> #include <linux/can/raw.h>
int main(int argc, char** argv) { // 创建套接字 int s = socket(PF_CAN, SOCK_RAW, CAN_RAW); if (s < 0) { perror("socket"); return 1; }
// 填充地址结构
struct sockaddr_can addr;