linux环境下实现Java RXTX串口通信

linux 环境为:centos7 64位

(1) Download rxtx:

建议下载 rxtx-2.2pre2-bins.zip

网址:http://rxtx.qbang.org/pub/rxtx/rxtx-2.2pre2-bins.zip

解压后拷贝 x86.64/RXTXcomm.jar 至 {JAVA_HOME}/jre/lib/ext
librxtxSerial.so  {JAVA_HOME}/jre/lib/amd64/

(2) 查看串口情况

查看串口是否可用,可以对串口发送数据比如对com1口,echo lyjie126 > /dev/ttyS0
查看串口名称使用 ls -l /dev/ttyS* 一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS* ,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的;
查看串口驱动:cat /proc/tty/drivers/serial
查看串口设备:dmesg | grep ttyS*

(3) demo代码测试

注意:端口号为:/dev/ttyS0;发送中文数据要注意使用GBK编码,

outputStream.write(data.getBytes("GBK"));

问题:

1、RXTX fhs_lock() Error: creating lock file: /var/lock/LCK..ttyS0: File exists
产生原因:有多个进程同时使用串口,端口被占用。
解决办法:# rm /var/lock/LCK..ttyS0

2.Java_gnu_io_RXTXPort_nativeDrain+0xea:版本问题,更换合适的版本。如linux下64位的版本要确认

你可能感兴趣的:(串口通信)