重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
为了从RS485读取数据,由于暂时没有硬件设备,系统是win7,故采用Virtual Serial Port Drive(VSPD)这块虚拟串口软件代替。并下载sscom3exe模拟串口通信软件。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、南江网站维护、网站推广。
新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因为javacomm20-win3zip包里有样例SimpleRead.java,可以通过这个例子测试串口是否正确。
TCP/IP直接用Socket开发即可(性能要求好的就是使用NIO),或者你去看看Apache的Mina类库,Mina直接支持了TCP/IP和串口。
串口的话只能用JAVA调用,然后通过关闭、打开来判断。
有需要可以找广州泰尚信息系统有限公司,专门做门禁一卡通的场家。
那么在java开发中发送数据的时候使用OutputStream,而其write()的参数是字节数组、int整形。如果使用字节数组发送的时候,通常可以直接写成out.write(1234.getBytes())。这样一来单片机读到的数据则是31 32 33 34。
发送的16进制串要先转换为byte[]然后writer 接受方read()后要把字节在转换成16进制串。
JAVA不能直接同硬件底层打交道,这种情况只能编写本地程序,如用C/C++,并编译为动态链接库,在JAVA中调用库【利用本地方法】。只用JAVA无法实现。
我自己的电脑上有一段源代码,就是基于TCP聊天小代码,能进行相互之间的消息接受。我的代码是直接传输字符串的,不是16进制滴。嗯,也贴出来看看吧!运行服务器,c1,c2就可以了,c1与c2可进行通信。
要说是几进制,那么肯定是2进制嘛。在硬件层面上看,串行通信的数据肯定是一位一位的传的,一次一般可以传8位。也可以设置是一次传9位,但多出来的一位一般来说是校验位,所以说数据还是8位,即一个字节。
1、导入支持java串口通信的jar包:在maven项目的pom.xml中添加RXTXcomm的依赖 或者 下载RXTXcomm.jar并导入到项目中。
2、text.getText().trim();getText是用来获取text中输入的字符串的,trim()是用来将获得的字符串两端的空格符去掉的。
3、java通过串口就可以跟读卡器建立串口通信。
4、通过CommPort的getInputStream()可以取得端口的输入流,它是java.io.InputStream接口的一个实例。我们可以用标准的InputStream的操作接口来读取流中的数据,就像通过FileInputSteam读取文件的内容一样。