Linux下 USBCAN、socketcan使用


一、安装Kvaser Linux Drivers and SDK(不安装驱动,则可以使用kvaser的socketcan模式)

https://www.kvaser.com/download/

 

 

 放在home目录下(其他目录安装有问题),在home目录下右键打开终端

解压

tar -xvzf linuxcan.tar.gz

下载并创建编译程序和用的内核头文件

 

sudo apt install build-essential

进入linuxcan目录

cd linuxcan

编译驱动程序

make

安装驱动程序

sudo make install

 CAN 发送代码写好后,编译加上

-lcanlib

 kvaser产品中没有终端电阻,因为终端电阻所需位置是基于特定的网络拓扑。终端电阻通常安装在CANbus主干网的最远处。CAN总线终端电阻的两个作用:1、提高抗干扰能力,确保总线快速进入隐性状态;2、提高信号质量

卸载kvaser驱动

在安装包linuxcan文件夹下打开终端

sudo make uninstall
sudo apt update

如果你安装后删除了安装包,要想删除驱动,再下载安装包到home,同样运行上述卸载命令,适用于kvaser、peakcan

  

二、图莫斯CAN&LIN Analyser

1、runme.sh这个文件是window下编写的,需要在Linux下重新编码,文件类型改为Unix(Linux下新建即可)。

2、例子中用的头文件和库文件都替换为sdk文件下的

 

三、socketcan设置

#! /bin/bash

sudo -S ip link set can0 type can bitrate 500000 <<EOF
123456
EOF
sudo ifconfig can0 up

 

四、vcan设置

#加载模块
sudo modprobe vcan 
sudo modprobe can-gw

#添加vcan
sudo ip link add dev vcan0 type vcan
sudo ip link add dev vcan1 type vcan
sudo ip link add dev vcan2 type vcan

#启动vcan
sudo ip link set dev vcan0 up
sudo ip link set dev vcan1 up
sudo ip link set dev vcan2 up

#将多个vcan连接起来
sudo cangw -A -s vcan0 -d vcan1 -e
sudo cangw -A -s vcan1 -d vcan0 -e
sudo cangw -A -s vcan0 -d vcan2 -e
sudo cangw -A -s vcan2 -d vcan0 -e
sudo cangw -A -s vcan1 -d vcan2 -e
sudo cangw -A -s vcan2 -d vcan1 -e

#关闭/删除vcan
sudo ip link set dev can0 down
sudo ip link del dev vcan0
sudo ip link del dev vcan1
sudo ip link del dev vcan2

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM