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

3

主题

5

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2017-12-17 22:20:04 11552 浏览 1 回复

Linux/Qt下CAN通信

发现这个问题之前有许多帖子提过,但是还是没有得到答案。问题如下(所有操作都基于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
回复

使用道具 举报

151

主题

508

帖子

3567

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3567
发表于 2017-12-20 10:07:52
可以使用canconfig配置下~
群共享中有介绍的文档
回复 点赞

使用道具 举报

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

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

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