上一篇关于串口环境配置的文章的好像有很多人关注。可能是因为网上关于java做串口开发的帮助文档比较少。能为大家提供一些帮助,实在是欣慰之至。
最近在帮朋友做一个串口操作的小软件,有机会尝试了一下串口开发。在此过程中也碰到了一些问题。这些问题都已经解决了,我将我的方案写出来,第一可以让木有经验的朋友借鉴,第二也算是抛砖引玉,哪位朋友有更好idea也可以拿出来分享。
1.“Windows下的java串口开发环境配置”中介绍的是开发环境,那么开发出来的东西如何发布呢?
上一篇关于串口开发的文章中介绍的只是开发环境的配置,用户不可能都装上eclipse然后设置这些环境,也不可能告诉用户copy一个神马文件到一个神马目录。他们更喜欢double click。所以做出来的东西,用法当然是越弱智越好。那么与操作系统相关的dll文件等,应该如何处置呢?
我将dll文件放入到[project]/lib目录中,然后在启动文件中通过一个虚拟机参数来指定它的位置。我的启动文件如下:
各位看官应该都能看懂吧,做了一个循环,将[project]/lib下的jar文件都append到classpath中。另外把[project]/conf中的配置文件也append到classpath中。关键的地方在这里:
-Djava.library.path=%LIBDIR%
这个与eclipse中的native library location是一个意思。
2.我发现了一个莫名其妙的异常。
上代码吧。把所有的代码都贴出来有点不现实,因为博文不是毕业论文,不用凑字数,是吧?我帖一个完整的类的源代码出来,我觉得各位看官应该有能力把它改到可以跑起来。
注意readComm方法中有一段异常处理,我不知道为什么每次读完串口的数据都会抛这样一个异常。有这方面经验的朋友可以提出来一起探讨一下。我捕获这个异常,并将它作为读入结束的一个标志。虽然功能上没有问题,但总觉得心里有个疙瘩。