Linux免驱使用slcan,使用方法以Ubuntu为例
在Ubuntu上使用slcan工具,通常是为了将一个串行设备(例如一个USB转串行适配器或一个真实的串行端口)转换成一个CAN(Controller Area Network)接口,以便能够通过CAN协议进行通信。slcan不是一个独立的命令,而是一个工具包的一部分,通常与canutils一起使用。
一、安装canutils
首先,你需要安装canutils包,这个包包括了slcand和其他的CAN工具。你可以通过以下命令安装:
sudo apt install can-utils
sudo apt update
二、查询slcan设备号
连接slcan后,可使用 ls /dev/tty*命令查询设备号(仅连接一个SLCAN设备时,一般为ttyACM0)。
ls /dev/tty*
三、将slcan的串口映射到CAN模式
使用slcand来启动串行到CAN的映射,用于设置串行设备为CAN模式。
sudo slcand -o -c -s8 -S1000000 /dev/ttyACM0 can0
参数解释:
-o:打开串行设备。
-c:创建一个新的CAN接口。
-s8:设置停止位为8位。
-S1000000:设置波特率为1 Mbps。
/dev/ttyACMO:作者的串行设备的路径。
can0:新创建的CAN接口的名称。
四、激活CAN接口
创建了CAN接口后,使用激活命令:
sudo ifconfig can0 up
五、发送和监听CAN报文
#例如往ID 0x604发送CAN报文
cansend can0 604#2F00810001000000
#监听CAN报文
candump can0