一.下载并安装peakcan驱动

以下链接提供的是peakcan的8.12.0的版本
链接: peakcan8.12.0驱动

我这边用到的can卡是peakcan,其支持socketcan编程。并购买于淘宝

当我们下载好peakcan-8.12.0的版本的驱动后,执行以下指令

//首先先安装以下两个库
//安装依赖库
$ sudo apt-get install udev
//安装依赖库
$ sudo apt-get install libpopt-dev
//再进入peak-linux-driver-8.12.0文件夹,并执行以下指令
$ cd peak-linux-driver-8.12.0
$ make clean
$ make all NET=NETDEV_SUPPORT PCI=NO ISA=NO DNG=NO PCC=NO
$ sudo make install
$ sudo modprobe pcan  

执行sudo modprobe pcan命令后,如果提示说找不到pcan啥的,建议进入电脑的bios,然后将Secure Boot的able改为disabled. 如图1所示
请添加图片描述
图1

重启电脑后执行以下指令,出现下面的内容说明该can卡已经可以使用

驱动识别:
重启电脑后,执行
$cat /proc/pcan
*------------- PEAK-System CAN interfaces (www.peak-system.com) -------------
*------------- Release_20210505_n (8.12.0) Nov 28 2021 05:13:46 --------------
*---------------------------- [mod] [usb] [net] -----------------------------
*--------------------- 1 interfaces @ major 245 found -----------------------
*n -type- -ndev- --base-- irq --btr- --read-- --write- --irqs-- -errors- status
32    usb   can0        0 000 0x001c 00000000 00000000 00000000 00000000 0x0000

二.peakcan使用步骤

当链接好peakcan后,执行以下命令,出现图2所示的结果,说明设备能被发现

$ sudo apt install net-tools 
$ ifconfig -a

请添加图片描述图2

经常使用到的命令如下所示

$ sudo ip link set down can0    //关闭can0
$ sudo ip link set can0  type can bitrate 500000    //配置can0的波特率为500k
$ sudo ip link set up can0     //打开can0
$ candump can0  //打印索can0发来的数据

关于更多的socketcan指令,这边推荐这位csdn博主

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐