文档详情

CAN总线应用开发接口.docx

发布:2016-12-29约4.81千字共5页下载文档
文本预览下载声明
CAN总线配置在Linux系统中,CAN总线接口设备作为网络设备被系统进行统一管理。在控制台下, CAN总线的配置和以太网的配置使用相同的命令。在控制台上输入命令: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:18eth0 Link encap:Ethernet HWaddr 00:50:c2:22:3b:0e UP BROADCAST MULTICAST MTU:1500 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:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth1 Link encap:Ethernet HWaddr 00:50:c2:22:3b:60 UP BROADCAST MULTICAST MTU:1500 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:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:41 Base address:0xe000lo Link encap:Local Loopbackinet addr: Mask: inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:256 errors:0 dropped:0 overruns:0 frame:0 TX packets:256 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0RX bytes:19952 (19.9 KB) TX bytes:19952 (19.9 KB) 在上面的结果中,eth0和eth1设备为以太网接口,can0设备为CAN总线接口。接下来使用ip命令来配置CAN总线的位速率:ip link set can0 type can tq 125 prop-seg 6phase-seg1 7 phase-seg2 2 sjw 1 也可以使用ip命令直接设定位速率:ip link set can0 type can bitrate 125000 当设置完成后,可以通过下面的命令查询can0设备的参数设置:ip -details link show can0 当设置完成后,可以使用下面的命令使能can0设备:ifconfig can0 up 使用下面的命令取消can0设备使能:ifconfig can0 down 在设备工作中,可以使用下面的命令来查询工作状态:ip -details -statistics link show can0 CAN总线应用开发接口由于系统将CAN设备作为网络设备进行管理,因此在CAN总线应用开发方面,Linux提供了SocketCAN接口,使得CAN总线通信近似于和以太网的通信,应用程序开发接口更加通用,也更加灵活。此外,通过/linux-can/can-utils/linux-can/can-utils网站发布的基于SocketCAN的can-utils工具套件,也可以实现简易的CAN总线通信。下面具体介绍使用SocketCAN实现通信时使用的应用程序开发接口。1. 初始化SocketCAN中大部分的数据结构和函数在头文件linux/can.h 中进行了定义。CAN总线套接字的创建采用标准的网络套接字操作来完成。网络套接
显示全部
相似文档