1、centos6.5 x64位系統,核心版本是2.6.32-696(安裝時核心版本是2.6.32-432,需要更新),序列槽轉usb線插上以後不可直接使用,需手動安裝驅動;
安裝驅動前
a. 首先要确認是否已安裝kernel-devel(核心開發包,make指令):在/usr/src/kernels/
一定要注意系統核心版本和kernel的版本要一緻
//安裝kernel-devel
#yum install kernel-devel
b. 其次要安裝gcc:
//gcc安裝:
yum -y install gcc
yum -y install gcc-c++
yum install make
2、安裝好驅動以後,再安裝minicom,設定好序列槽号(linux下一般用”/dev/ttyUSB0”)、波特率(波特率不一緻可能導緻資料亂碼或收不到資料)、資料位、校驗位和停止位。
先用
dmesg ef|grep pl2303
看序列槽是否已識别,若沒有的話,用
modprobe pl2303
執行指令,确認已識别序列槽後用
minicom
看是否能收到資料。
3、在程式中使用rxtxcomm:
檢視cpu型号,從下載下傳的元件中找到對應的.so檔案
該元件下載下傳位址:http://rxtx.qbang.org/pub/rxtx/rxtx-2.2pre2-bins.zip

我們已經把jdk目錄命名為 JAVAHOME,把下載下傳的元件中librxtxParallel.so和librxtxSerial.so(若在相應檔案夾中隻有一個檔案就拷貝一個檔案)拷貝至/usr/lib下,把RXTXcomm.jar拷貝至 JAVA_HOME/jre/lib/ext下。
**分隔符
問題**
直接在指令終端裡讀取資料正常,但是在使用這個元件的時候,讀取到資料時eclipse會報錯:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f85ff6f1462, pid=12801, tid=140213492819712
#
# JRE version: Java(TM) SE Runtime Environment (7.0_80-b15) (build 1.7.0_80-b15)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.80-b11 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [librxtxSerial.so+0x6462] read_byte_array+0x52
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
--------------- T H R E A D ---------------
Current thread (): JavaThread "Thread-0" [_thread_in_native, id=, stack(,)]
siginfo:si_signo=SIGSEGV: si_errno=, si_code= (SEGV_MAPERR), si_addr=
Registers:
RAX=, RBX=, RCX=, RDX=
RSP=, RBP=, RSI=, RDI=
R8 =, R9 =, R10=, R11=
R12=, R13=, R14=, R15=
RIP=, EFLAGS=, CSGSFS=, ERR=
TRAPNO=
找了許多種方法均不能解決,最後想到可能是下載下傳的元件有問題,我開始用的是rxtx-2.1.7,替換成上面的rxtx-2.2就不會報錯了。