为了方便起见,也为了节约敲命令的时间,自己动手写了一个设置can的脚本有环回模式和正常模式,只需要执行命令:
1.环回:sh can_set_loop.sh can0(这里以can0为例)
2.正常:sh can_se.sh can0(这里以can0为例)
需要注意别忘了给脚本加执行权限(chmod +x 文件名),如果需要改bitrate和dbitrate可以在脚本里面更改
1.can_set_loop.sh
设置为回环发送模式
#!/bin/bash
#bitrate=1000000
bitrate=500000
dbitrate=3000000
set -x
#result=$(echo $1 |grep "can")
#if [[ "$result" == "" ]]
if [[ $1 != *"can"* ]]
then
echo "pleease input can device"
else
ip link set $1 down
#ip link set $1 type can bitrate ${bitrate} dbitrate ${dbitrate} fd on
ip link set can0 type can bitrate ${bitrate} loopback on
ip -details link show can0
ip link set $1 up
fi
2.can_set.sh
设置普通发送模式
#!/bin/bash
bitrate=1000000
dbitrate=3000000
set -x
result=$(echo $1| grep "can")
if [[ "$result" == "" ]]
then
echo "plese input can device"
else
ip link set $1 down
ip link set $1 type can bitrate ${bitrate} dbitrate ${dbitrate} fd on
ip -details link show can0
ip link set $1 up
fi
3.can_send_serial.sh
连续发送的脚本
#!/bin/bash
#i=1
#while (( $i<=$1 ))
#for i in `seq $1`
#do
# cansend can0 123##1DEADBEEF
# sleep 1s
# let "i++"
#done
int=1
while [ $int -le 5 ]
do
cansend can0 123##1DEADBEEF
sleep 1s
# int=$((int+1))
int++
done