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