「串口通讯java」串口通讯距离
本篇文章给大家谈谈串口通讯java,以及串口通讯距离对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java串口通信中怎样以十六进制数发送
- 2、java串口通讯 为什么我先用OutputStream流向串口发送数据成功后,用InputStream流读不到数据
- 3、如何安装JAVA串口通讯包
- 4、java串口通信
- 5、在java的web程序中怎么使用串口通讯?
- 6、Java无线串口通讯
java串口通信中怎样以十六进制数发送
做串口通讯的时候基本都是通过io流读取、输出。那么在java开发中发送数据的时候使用OutputStream,而其write()的参数是字节数组、int整形。如果使用字节数组发送的时候,通常可以直接写成out.write("1234".getBytes())。这样一来单片机读到的数据则是31 32 33 34。但是在串口发送的时候先把16进制字符串转化为byte数组在发送出来,则是发送什么读取到的就是什么。使用:out.write(HexString2Bytes("1234"));那么读取到的还是1234。16进制字符串转化为byte数组的方法为:
public static byte[] HexString2Bytes(String src) {
if (null == src || 0 == src.length()) {
return null;
}
byte[] ret = new byte[src.length() / 2];
byte[] tmp = src.getBytes();
for (int i = 0; i (tmp.length / 2); i++) {
ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);
}
return ret;
}
在用java做串口开发的时候建议使用开源的Rxtx做。效率、使用方法都要优。使用sun开源的comm个人觉得不是很便利。rxtx网上有开源实例。可以根据自己个需求进行加以修饰利用。
java串口通讯 为什么我先用OutputStream流向串口发送数据成功后,用InputStream流读不到数据
1、首先确保你发送的数据是正确的,串口接收到这个数据后他能识别,并返回你想要的数据,如果你发送的命令本身不要求返回数据,inputstream是读取不到数据的。
2、其次,要确保发送数据的格式正确,比如一段16进制数据,你定义为String="01230545"类型,然后发送的时候out.write(str.getBytes());这样发送的数据是不对的,应该定义一个byte型的数组,然后发送这个数组
3、以上你都确保没问题了,你可以用循环去读取数据,当读到的内容大于0时停止读取。用循环读取你要确保你已经设置读取的超时时间了,不然程序有可能阻塞。
如何安装JAVA串口通讯包
1、只需把相应的串口.dll,.jar文件拷贝到jdk1.7.0_05\lib\ext
但是还需要把这几个文件拷贝到C:\Windows\System32下面。
提示
java.lang.UnsatisfiedLinkError: no win32com in java.library.path
的话只是因为你需要把相应的comm.jar 【Native】一下,具体操作:
点击项目名右键--Properties-Java build Path-Libraries-comm.jar(前面有个三角形)--Native libaray location:--选择那个comm.jar的目录,如:D:/项目/WebRoot/WEB-INF/lib即可。
java串口通信
java.comm可以在XP下使用,我用JAVA写过串口程序
下载了comm.jar开发包后,与之一起的还有两个重要的文件,win32com.dll和javax.comm.properties。
1 comm.jar提供了通讯用的java API。
2 win32com.dll提供了供comm.jar调用的本地驱动接口。
3 javax.comm.properties是这个驱动的类配置文件。
首先 将comm.jar复制到JRE_HOME\lib\ext目录。
接着 将win21com.dll复制到你的RS232应用程序运行的目录,即user.dir。
最后 将javax.comm.properties复制到JRE_HOME\lib目录。
我在Eclipse3.2+JDK1.6开发的时候,在项目中包含comm.jar和win32com.dll
在java的web程序中怎么使用串口通讯?
方法如下:
新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因为javacomm20-win32.zip包里有样例SimpleRead.java,可以通过这个例子测试串口是否正确。
接收数据正确后,根据传送接收双方的协议,采用CRC循环校验,根据传输的一方的校验函数判定是否是正确传输。
把正确结束的数据解析,查看自己指定的通讯规则,然后解析。
插入数据库,jdbc插入。
数据统计,定时统计每小时,每天,每月,每年的平均值,采用quartz服务来实现。
建立web工程,采用hibernate3,spring3,dwr技术把数据库数据动态显示,图表采用jfreechart,以及AJAX的运用
java优点:
java是纯面向对象编程的语言;
平台无关性 (一次编译,到处运行;Write Once,Run Anywhere);
java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作,同时缩短了项目开发时间;
提供了对Web应用开发的支持,例如,Applet,Servlet,和JSP可以用来开发Web应用程序,,Socket,RMI可以用来开发分布式应用程序的类库;
去除了c++中难以理解,容易混淆的特性(如c++中的多继承,头文件,指针,结构,单元,运算符重载,虚拟基础类,使得程序更加严谨,整洁。
Java无线串口通讯
估计是操作系统不一样吧,先把你的无线串口驱动装好,找个非java串口调试软件试试,保证串口设备在本机测试没问题,然后再测试java串口程序,是rxtx包,还是com包?
关于串口通讯java和串口通讯距离的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。