一.下载并安装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博主:
本文含有隐藏内容,请 开通VIP 后查看