【分享】i.MX6Q linux can总线编程

2020-02-20 20:28发布

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

经过这样的抽象我们应用层的代码编写变得简单了。
下面把我整理的代码贴出来,大家看看,如果有问题,欢迎跟帖讨论。
我的代码参考了canutils源码实现。
头文件
QQ截图20140904145717.png (72.43 KB, 下载次数: 0) 下载附件 2014-9-4 14:57 上传

源代码打包,注意,编译时需要自己指定相应的库。

src.rar (3.64 KB, 下载次数: 25) 2014-9-4 15:12 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
abszy
1楼-- · 2020-02-20 22:24
谢谢楼主分享  不知道这个工程可以用在什么地方?
湛泸骏驰
2楼-- · 2020-02-21 03:29
太高级了,,,目前没有接触到。。
bruce_helen
3楼-- · 2020-02-21 03:46
abszy 发表于 2014-9-4 15:15
谢谢楼主分享  不知道这个工程可以用在什么地方?

需要在linux下使用can总线的地方啊,有了这个,能走不少弯路哦。
这里的代码收发都测试过,大问题没有。
还有细节问题没搞,比如can总线的详细设置没弄(位时序)。有需要再搞吧,现在没动力
rockyyangyang
4楼-- · 2020-02-21 09:39
很不错的东西!            
FSL_TICS_Rita
5楼-- · 2020-02-21 14:59
 精彩回答 2  元偷偷看……
zndz410
6楼-- · 2020-02-21 17:13
感谢楼主分享,

一周热门 更多>