请选择 进入手机版 | 继续访问电脑版

Exynos4412/4418/6818/i.MX6开发板俱乐部

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 125|回复: 1

Linux/Qt下CAN通信

[复制链接]

3

主题

5

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2017-12-17 22:20:04 | 显示全部楼层 |阅读模式
发现这个问题之前有许多帖子提过,但是还是没有得到答案。问题如下(所有操作都基于iTOP4412全能版,Linux/Qt系统):
1、我配置完驱动后,ifconfig can0 up可以看到can0设备,如下:

我应该怎么设置波特率?
我看了官方帖,程序如下,没有设置波特率的代码。我运行了程序,用CAN分析仪测试不成功,应该波特率不对,请问默认波特率多少?之前看到说需要用两块官方的板子测试。这显然不显示,不可能为了这个整两个板子,再说如果只能在官方板子上运行也没意义。
        s = socket(PF_CAN,SOCK_RAW,CAN_RAW);
        strcpy(ifr.ifr_name,"can0");
        ioctl(s,SIOCGIFINDEX,&ifr);
        printf("can0 can_ifindex = %x\n",ifr.ifr_ifindex);

        //bind to all enabled can interface
        addr.can_family = AF_CAN;
        addr.can_ifindex =0;
        bind(s,(struct sockaddr*)&addr,sizeof(addr));

        nbytes = recvfrom(s,&frame,sizeof(struct can_frame),0,(struct sockaddr *)&addr,&len);


2、下载了iproute2的源代码,但是总是编译不通过,出现下面错误信息,why?用的是官方配置好的ubuntu系统。
make[1]: Entering directory `/home/topeet/SourceCode/iproute2-2.6.37/ip'
make[1]: *** No rule to make target `../lib/libnetlink.a', needed by `ip'.  Stop.
make[1]: Leaving directory `/home/topeet/SourceCode/iproute2-2.6.37/ip'
make: *** [all] Error 2


3、官方的全能版教程里面讲的CAN驱动配置是不全的,太简略,按照那种操作前面一直找不到CAN设备。

本帖子中包含更多资源

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

x
回复

使用道具 举报

51

主题

126

帖子

1054

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1054
发表于 2017-12-20 10:07:52 | 显示全部楼层
可以使用canconfig配置下~
群共享中有介绍的文档
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|迅为电子 ( 京ICP备12036083号-2

GMT+8, 2018-1-20 13:19 , Processed in 0.110284 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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