用Sun的commAPI,可以找到串口,但打开串口时出错Exceptioninthread"main"java.lang.RuntimeException:Erroropening"/dev/cuaa0"lockf():Invalidargumentatcom.sun.comm.LinuxDriver....
用Sun的commAPI,可以找到串口,但打开串口时出错
Exception in thread "main" java.lang.RuntimeException:
Error opening "/dev/cuaa0"
lockf(): Invalid argument
at com.sun.comm.LinuxDriver.getCommPort(LinuxDriver.java:66)
at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:369)
at nulltest.(nulltest.java:133)
at nulltest.main(nulltest.java:76)
好像是调用lockf()函数时出错?
安装了java-commapi-freebsd之后,仍然是在打开串口时报错
FreebsdSerial: UnsatisfiedLinkError = /usr/local/java/jre/lib/i386/libSerial.so: /usr/local/java/jre/lib/i386/libSerial.so: ELF file OS ABI invalid
java.lang.UnsatisfiedLinkError: /usr/local/java/jre/lib/i386/libSerial.so: /usr/local/java/jre/lib/i386/libSerial.so: ELF file OS ABI invalid
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1503)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at org.freebsd.io.comm.FreebsdSerial.(FreebsdSerial.java:85)
at org.freebsd.io.comm.FreebsdDriver.getCommPort(FreebsdDriver.java:114)
at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:634)
at ATTest2.main(ATTest2.java:27)
Exception in thread "main" java.lang.UnsatisfiedLinkError: deviceOpen
at org.freebsd.io.comm.FreebsdSerial.deviceOpen(Native Method)
at org.freebsd.io.comm.FreebsdSerial.(FreebsdSerial.java:115)
at org.freebsd.io.comm.FreebsdDriver.getCommPort(FreebsdDriver.java:114)
at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:634)
at ATTest2.main(ATTest2.java:27)
出现ELF file OS ABI invalid错误
用RTXT倒是没有报错,但是发出的AT指令没有回信,好像是AT指令结尾的回车符没有发出去,所以设备认为没有接到完整AT指令。
用CommAPI在Windows XP系统下就完全没有任何问题。而RXTX在Windows XP下也是AT指令发出后没有回信。
有没有人知道如何解决FreeBSD下的CommAPI打开端口报错的问题,或者如何让RXTX发出完全的AT指令(字符串结尾 \r \n \r\n \n\r 都试过了,直接用write来写ASCII码13字符也不成),急!!多谢!!!
展开