yunshanhaiya 发表于 2013-11-19 20:48:51

关于CAN总线回环模式的问题

最近正在学习CAN通讯,用的是TE6410的开发板,现在只有一块板子,使用命令up link set can0 up type can loopback on将控制器设为回环模式,可以实现收发。但是看Linux3.0.1内核提供的文档,上面说在使用socketcan编程的时候,通过设置setsockopt(s, SOL_CAN_RAW, CAN_RAW_LOOPBACK, &loopback,sizeof(loopback)); 也可以开启或关闭本地回环功能。但是如果用up工具关闭掉回环模式的话,无论怎么设置CAN_RAW_LOOPBACK都是不能收到数据的。
我想问下,这两个东西一样吗?如果我想在程序里设置CAN控制器的工作模式,而不用up命令,应该怎么做?

飞凌-unix 发表于 2013-11-20 08:42:35

没有这么用过,正常使用can都是两机通信,回环没有实际意义

yunshanhaiya 发表于 2013-11-20 08:50:24

飞凌-unix 发表于 2013-11-20 08:42 static/image/common/back.gif
没有这么用过,正常使用can都是两机通信,回环没有实际意义

这么说只能是在CAN开始工作之前,通过up命令把工作模式设好,之后就不能在改变了么?

飞凌-unix 发表于 2013-11-22 08:52:35

没有修改过

yunshanhaiya 发表于 2013-11-25 13:24:40

飞凌-unix 发表于 2013-11-22 08:52 static/image/common/back.gif
没有修改过

谢谢版主,我再去研究一下
页: [1]
查看完整版本: 关于CAN总线回环模式的问题