天天看點

centos6.5系統 使用rxtx序列槽轉USB收資料

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

centos6.5系統 使用rxtx序列槽轉USB收資料

我們已經把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就不會報錯了。

繼續閱讀