搜索
bottom↓
回复: 25

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

[复制链接]

出0入0汤圆

发表于 2014-9-4 15:12:22 | 显示全部楼层 |阅读模式
Socket CAN是在Linux下CAN协议实现的一种实现方法。Linux下最早使用CAN的方法是基于字符设备来实现的,与之不同的是Socket CAN使用伯克利的Socket接口和Linux网络协议栈,这种方法使得CAN设备驱动可以通过网络接口来调用。Socket CAN的接口被设计的尽量接近TCP/IP的协议,让那些熟悉网络编程的程序员能够比较容易的学习和使用。

经过这样的抽象我们应用层的代码编写变得简单了。
下面把我整理的代码贴出来,大家看看,如果有问题,欢迎跟帖讨论。
我的代码参考了canutils源码实现。
头文件

C实现代码

测试代码


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2014-9-4 15:15:04 | 显示全部楼层
谢谢楼主分享  不知道这个工程可以用在什么地方?

出0入0汤圆

发表于 2014-9-4 15:16:33 | 显示全部楼层
太高级了,,,目前没有接触到。。

出0入0汤圆

 楼主| 发表于 2014-9-4 15:19:48 | 显示全部楼层
abszy 发表于 2014-9-4 15:15
谢谢楼主分享  不知道这个工程可以用在什么地方?

需要在linux下使用can总线的地方啊,有了这个,能走不少弯路哦。
这里的代码收发都测试过,大问题没有。
还有细节问题没搞,比如can总线的详细设置没弄(位时序)。有需要再搞吧,现在没动力

出0入0汤圆

发表于 2014-9-4 15:55:58 | 显示全部楼层
很不错的东西!            

出0入0汤圆

发表于 2014-9-4 16:23:59 | 显示全部楼层
感谢楼主分享,很赞~~

出0入0汤圆

发表于 2014-9-4 16:29:53 | 显示全部楼层
感谢楼主分享,

出0入0汤圆

发表于 2014-9-4 16:33:12 | 显示全部楼层
虽然不会玩I.max,但友情帮顶!

出0入0汤圆

发表于 2014-9-4 16:35:29 | 显示全部楼层
can总线编程

出0入0汤圆

 楼主| 发表于 2014-9-4 17:21:35 | 显示全部楼层
wangpengcheng 发表于 2014-9-4 16:33
虽然不会玩I.max,但友情帮顶!

呵呵,i.MX

出0入0汤圆

 楼主| 发表于 2014-9-4 17:22:09 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-9-4 16:23
感谢楼主分享,很赞~~

哈哈,老大也来了,谢谢支持!

出100入101汤圆

发表于 2014-9-4 21:25:03 | 显示全部楼层
学习下linux can总线编程

出0入0汤圆

 楼主| 发表于 2014-9-4 21:43:43 | 显示全部楼层
fengyunyu 发表于 2014-9-4 21:25
学习下linux can总线编程

活到老,学到老

出0入0汤圆

发表于 2014-9-5 14:35:17 | 显示全部楼层
感谢分享。

出0入0汤圆

发表于 2014-9-5 17:15:15 | 显示全部楼层
bruce_helen 发表于 2014-9-4 17:22
哈哈,老大也来了,谢谢支持!

必须的

出0入0汤圆

发表于 2014-12-8 08:56:21 | 显示全部楼层
这个得收藏啊,

出0入0汤圆

发表于 2014-12-8 12:58:36 | 显示全部楼层
mark............

出0入0汤圆

发表于 2014-12-8 13:36:01 | 显示全部楼层
这么复杂,

出0入0汤圆

发表于 2014-12-8 16:01:21 | 显示全部楼层
Socket CAN通信协议貌似很强大 , 这个最多能支持多少个节点 ?

出0入0汤圆

 楼主| 发表于 2014-12-13 06:39:54 | 显示全部楼层
qs6361036 发表于 2014-12-8 16:01
Socket CAN通信协议貌似很强大 , 这个最多能支持多少个节点 ?

这个和CAN协议有关,标准CAN id,11bit,扩展CAN id,29bit

出0入0汤圆

发表于 2014-12-13 09:16:00 | 显示全部楼层
还没用过CAN,不过学习了。

出100入101汤圆

发表于 2014-12-13 10:29:29 | 显示全部楼层
qs6361036 发表于 2014-12-8 16:01
Socket CAN通信协议貌似很强大 , 这个最多能支持多少个节点 ?


一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。一般100多个没问题。

出100入101汤圆

发表于 2014-12-13 10:30:22 | 显示全部楼层
bruce_helen 发表于 2014-12-13 06:39
这个和CAN协议有关,标准CAN id,11bit,扩展CAN id,29bit


单从id上看,直接的节点数近乎无数了。

出0入0汤圆

发表于 2014-12-13 11:51:17 | 显示全部楼层
bruce_helen 发表于 2014-12-13 06:39
这个和CAN协议有关,标准CAN id,11bit,扩展CAN id,29bit

我说的是节点个数 。能连接的设备个数  

出0入0汤圆

发表于 2014-12-14 21:45:20 | 显示全部楼层
刚买的板子,过几天搞一下

出0入0汤圆

发表于 2014-12-14 23:12:52 | 显示全部楼层
收藏下 以后用得着
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 17:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表