【开发错误日志1-2】Java can接口使用
CAN是一种工业现场总线的名称。一般普通计算机上没有这个接口。它是串行通信方式,但不是一般说的串口。接口外观可以是15针D型口,也可以RJ45接口,看用在什么场合了。
项目需要用到can口找了很多地方,发现Java对这一块的支持很薄弱最后只能采用命令行脚本来执行;
实现脚本代码总结:
Java端
String cmds[] = {"/bin/bash", "-c", "./can.sh \""+ip+"000\" \""+波特率+"\" \""+发送命令+"\""};
Runtime.getRuntime().exec(cmds);
脚本
#!/bin/sh
### BEGIN INIT INFO
# Provides: autoJar.sh
# Required-start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the svnd.sh daemon
# Description: starts svnd.sh using start-stop-daemon
### END INIT INFO
btl=$1
zid=$2
sj=$3
sudo ip link set down can0
sudo ip link set can0 type can bitrate ${btl}
sudo ip link set up can0
sudo cansend can0 ${zid}#${sj}
exit