Spi cp2515 linux,基于MCP2515的Linux CAN总线驱动程序设计

本文介绍了如何在Linux系统中基于MCP2515通过SPI接口实现CAN总线驱动,并提供了Socket CAN的注册、配置与测试方法,包括内核配置、iproute2和canutils工具的使用。
摘要由CSDN通过智能技术生成

d229031940393fc1afba93770e0e6cfa.png

图3 MCP2515硬件连接图

5.MCP2515 Socket CAN驱动实现

FS2416平台使用Linux2.6.39的内核,内核中为MCP2515提供了Socket CAN驱动程序,我们只需为MCP2515芯片配置内核选项就可以使用Socket编程的方式使用MCP2515 CAN总线。

5.1 Socket CAN介绍

Socket CAN是在Linux下CAN协议实现的一种实现方法。Linux下最早使用CAN的方法是基于字符设备来实现的,与之不同的是Socket CAN使用伯克利的Socket接口和Linux网络协议栈,这种方法使得CAN设备驱动可以通过网络接口来调用。Socket CAN的接口被设计的尽量接近TCP/IP的协议,让那些熟悉网络编程的程序员能够比较容易的学习和使用。

5.2 向Linux内核注册MCP2515驱动

向Linux内核添加SPI驱动在之前的文章已经有详细的介绍,根据硬件原理图图3所示,MCP2515挂在SPI0上,使用中断GPF1,所以要向Linux内核注册MCP2515设备,注册代码如图4所示。

ca913767af74851d7c013787493d8764.png

图4 MCP2515 SPI 注册代码

注册完成,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值