linux can远程帧,【值得收藏】详解Linux的CAN接口编程技巧

0ecbb102c24a84ddd3e93a26d6f33010.png

摘要

CAN是一种广泛用于自动控制、嵌入式设备和汽车领域的工业总线技术。Linux 操作系统对CAN总线提供良好支持,它为大部分CAN控制器提供了稳定的驱动,而这些驱动都采用的是SocketCAN子系统编写的。

一、SocketCAN概述

CAN是一种广泛用于自动控制、嵌入式设备和汽车领域的工业总线技术。Linux 操作系统对CAN总线提供良好支持,它为大部分CAN控制器提供了稳定的驱动,而这些驱动都采用的是SocketCAN子系统编写的。下文主要介绍Linux 操作系统SocketCAN的使用方法及注意事项。

1、什么是SocketCAN

SocketCAN是Linux系统为CAN驱动定义的一种网络子系统。 Linux下最早的CAN驱动是基于字符设备来实现的,而SocketCAN则是基于Linux网络协议栈来实现的,并使用了BSD Socket作为编程接口。SocketCAN的接口设计的尽量接近TCP/IP的协议,让那些熟悉网络编程的程序员能够比较容易的学习和使用。

2、查看SocketCAN设备

SocketCAN使用网络协议栈来实现CAN控制器驱动,因此CAN设备驱动成功加载后会为CAN控制器生成一个网络设备,网络设备采用“can+序号”的形式命名,第一个CAN设备的设备名为can0,这种命名方式与以太网接口类似。在Linux系统下使用ifconfig–a参看所有的网络设备,包括以太网及CAN等设备。

root@EPC-9200 ~]# ifconfig -a

can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

NOARP MTU:16 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:10

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Interrupt:52

eth0 Link encap:Ethernet HWaddr 68:C9:0B:E4:2E:8C

inet addr:192.168.1.151 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 drop

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值