- 浏览: 556816 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (533)
- spring (8)
- struts (21)
- hibernate (17)
- java其他 (73)
- 设计模式 (2)
- 开发软件/插件 (26)
- android (8)
- extjs4 (1)
- 网络编程 (4)
- 生活杂记 (3)
- ibatis (5)
- 应用服务器 (4)
- js (26)
- html/css (16)
- linux (0)
- db (32)
- jsp/servlet (13)
- xml (9)
- webservice (10)
- 错误/异常处理 (23)
- 线程 (10)
- maven (7)
- lucene (2)
- python (0)
- 报表 (1)
- mongodb (6)
- restful (6)
- ssl (1)
最新评论
-
zmwxiaoming:
...
struts2拦截器验证登陆状态 -
u012413283:
感谢楼主,同样的问题解决了
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案) -
javalucky:
你妹,想不吐槽都不行啊,eclipse 那来的maven4My ...
clipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin: -
zhaoyh82:
感谢楼主
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案) -
hua2011:
按照楼主说的,还是没有出现pom editor编辑器,麻烦楼主 ...
eclipse下安装m2e的maven插件报错的各类解决方案(含pom editor没装好的解决方案)
一.使用sun公司的comm.jar
1.配置(下载comm.jar包http://code.google.com/p/smslib/downloads/detail?name=javacomm20-win32.zip&can=2&q=)
(1).将包下的javax.comm.properties放到jdk home/jre/lib下
(2).将包下的win32com.dll放到jdk home/jre/bin下(也可以放到windows下的system32下)
(3).将comm.jar放到jdk home/jre/lib/ext下
2.java代码
- package comm;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.Enumeration;
- import java.util.TooManyListenersException;
- import javax.comm.CommDriver;
- import javax.comm.CommPortIdentifier;
- import javax.comm.PortInUseException;
- import javax.comm.SerialPort;
- import javax.comm.SerialPortEvent;
- import javax.comm.SerialPortEventListener;
- import javax.comm.UnsupportedCommOperationException;
- public class SimpleWrite {
- public static void main(String[] args) {
- // System.loadLibrary("win32com");
- CommDriver driver = null;
- String driverName = "com.sun.comm.Win32Driver";
- // SerialPort sPort = (SerialPort) driver.getCommPort("COM4",
- // CommPortIdentifier.PORT_SERIAL);
- Enumeration<CommPortIdentifier> enumeration = CommPortIdentifier
- .getPortIdentifiers();
- while (enumeration.hasMoreElements()) {
- CommPortIdentifier portId = enumeration.nextElement();
- System.out.println(portId.getName() + "============");
- if (portId.getName().equals("COM1")) {
- try {
- System.out.println("jjj");
- final SerialPort sp = (SerialPort) portId.open(
- "SimpleWrite", 1000);
- sp.setSerialPortParams(2400, SerialPort.DATABITS_8,
- SerialPort.STOPBITS_2, SerialPort.PARITY_NONE);
- final InputStream is = sp.getInputStream();
- final OutputStream os = sp.getOutputStream();
- os.write(100);
- os.flush();
- os.close();
- //Set notifyOnDataAvailable to true to allow event driven input.
- sp.notifyOnDataAvailable(true);
- // Set notifyOnBreakInterrup to allow event driven break
- // handling.
- sp.notifyOnBreakInterrupt(true);
- // Set receive timeout to allow breaking out of polling loop
- // during input handling.
- sp.enableReceiveTimeout(30);
- final StringBuffer linkWgt = new StringBuffer();// 存放获取的数据
- sp.addEventListener(new SerialPortEventListener() {
- @Override
- public void serialEvent(SerialPortEvent e) {
- int newData = 0;
- // Determine type of event.
- switch (e.getEventType()) {
- // Read data until -1 is returned. If \r is received
- // substitute
- // \n for correct newline handling.
- case SerialPortEvent.DATA_AVAILABLE:
- while (newData != -1) {
- try {
- newData = is.read();
- if (newData == -1) {
- break;
- }
- if ('\r' == (char) newData) {
- } else {
- linkWgt.append((char) newData);
- }
- } catch (IOException ex) {
- System.err.println(ex);
- return;
- }
- }
- // Append received data to messageAreaIn.
- try {
- System.out
- .println("linkWgt ---------||||| "
- + Double.valueOf(linkWgt
- .toString()));
- } catch (Exception ew) {
- ew.printStackTrace();
- } finally {
- try {
- // 用完了,记得关闭端口。
- is.close();
- sp.close();
- } catch (Exception c) {
- c.printStackTrace();
- }
- }
- break;
- // If break event append BREAK RECEIVED message.
- case SerialPortEvent.BI:
- System.out
- .println("\n--- BREAK RECEIVED ---\n");
- }
- }
- });
- } catch (PortInUseException e) {
- e.printStackTrace();
- } catch (UnsupportedCommOperationException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (TooManyListenersException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
二.用rxtx.jar代替comm.jar
# copy rxtxSerial.dll into your c:\program files\java\jre-version\bin dir
# copy RXTXcomm.jar into your c:\program files\java\jre-version\lib\ext dir
# change all references from 'javax.comm' to 'gnu.io'
三.然后就可以测试了,推荐使用Virtual Serial Port Driver 6.9 by Eltima Software
它可以虚拟出两个相连的串口,你可以通过包里的一个小例子:SimpleWrite,SimpleRead
来测试
四.检查下你的modem支不支持来电显示:
1.打开超级终端,随便输入一个连接名称,例如TEST。(也可以用其它终端件, 如Bitware)
2.按确定后,下个窗口中,看到你的MODEM,不要输入电话号码。再下一步。
3.在这个窗口中按取消。
4.这样一个可以输入的空白窗口就有了。
输入:ATE1回车
如果出现OK,说明MODEM支持AT指令,不然,其他也不用试了。
然后输入下面的命令,只要一条反应有OK,就说明MODEM本身芯片支持来电显示。
AT#CID=1 比较常用
AT%CCID=1
AT+VCID=1 比较常用
AT#CC1
AT*ID1
5.如果有一条有OK,接下来,你打入电话,(事先接好电话线到MODEM)。
如果你的MODEM真的支持来电显示,则会出现如下类似的内容:
RING
DATE = 1010
TIME = 1600
NMBR = **********(你拨入的主叫号码)
RING
如果你的MODEM不支持来电显示,则此时可能会显示:
RING
RING
RING
还有的MODEM,什么也不显示,那就更不可能支持来电显示了。
http://www.ititgo.com.cn/goods-144.html
下面我也把comm的包贴上来,估摸着很多朋友进不去那个googlecode
- java串口包.rar (1.7 MB)
- 下载次数: 9
发表评论
-
javaBean与Map<String,Object>互转
2014-02-25 13:32 6811. 为什么要实现javaBean与Map<Strin ... -
java反射工具类
2014-02-25 09:18 1060import java.lang.reflect.Field ... -
java反射详解
2014-02-24 14:07 351http://www.cnblogs.com/rollenho ... -
svn如何清除已保存的用户名密码
2014-02-24 10:41 9161.Windows 删除以下目录C:\Documents a ... -
HttpURLConnection 上传大文件 内存溢出 out of memery
2014-02-23 11:35 1809项目中遇到问题总结 ... -
基于https,HttpsURLConnection客户端代码调用
2014-02-23 11:36 886今天遇到配置了SSL的服务器,不知道怎么写客户端调用,费了 ... -
聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)
2014-02-17 09:54 1038索引的重要性数据库性能优化中索引绝对是一个重量级的因素,可 ... -
数据库中索引的优缺点
2014-02-17 09:46 412一、索引的概念 索 ... -
eclipse项目中的java文件导入后变为空心J问题
2014-02-11 10:19 3674今天从SVN更新了一下整个工程,更新完成后发现工程的目录顺序 ... -
Java获取客户端真实IP地址
2013-12-25 11:00 862在JSP里,获取客户端的IP地址的方法是:reques ... -
idea总结
2013-12-20 23:09 7591. IDEA内存优化 先看看 ... -
Java 位运算符
2013-12-11 09:49 908写道 位运算符用来对二进制位进行操作 ,Java中提 供 ... -
CAS单点登录
2013-12-09 15:24 875一、简介 1、cas ... -
jira的详细安装和破解
2013-12-04 11:04 1238jira的详细安装和破解 以下是在Windows20 ... -
java常见排序速记
2013-11-11 10:10 516冒择路(入)兮(希尔)快归堆 冒泡,选择,插入,希尔,快 ... -
JA-SIG(CAS)学习笔记3
2013-11-07 15:17 836技术背景知识: JA-SI ... -
JA-SIG(CAS)学习笔记2
2013-11-07 15:15 710背景知识: 什么是SSO(Single Sign On)单点 ... -
JA-SIG(CAS)学习笔记1
2013-11-07 15:14 764实验背景: 系统环境: Windows XP | SUN ... -
gea穿墙教程
2013-10-22 13:41 1... -
applicationContext.xml 配置文件的存放位置
2013-10-17 10:38 1386web.xml中classpath:和classpath*: ...
相关推荐
Java串口程序源码是一种基于Java语言实现的通信程序,它允许通过计算机的串行端口(Serial Port)进行数据的发送和接收。在嵌入式系统、工业控制、物联网设备等场景中,串口通信扮演着重要的角色,因为它是简单、...
Java串口调试助手是一款用于Java开发中的串口通信调试工具,它可以帮助开发者便捷地测试和调试串行端口(Serial Port)的通信功能。在Java编程中,串口通信是硬件设备之间数据交换的一种常见方式,例如打印机、GPS...
Java 串口通信编程 Java 串口通信编程是指使用 Java 语言开发串口通信程序的过程。串口通信是一种常见的通信方式,广泛应用于工业自动化、机器人控制、物联网等领域。Java 语言作为一门跨平台的编程语言,能够在...
Java串口通信是一种在计算机之间或计算机与其他设备(如PLC、Arduino等)进行低级数据传输的方法。在Java中实现串口通信通常需要依赖外部库,如本示例中的"RXTXcomm.jar"。这个jar包包含了32位和64位版本,适用于...
Java串口通信是一种在Java应用程序之间或Java应用程序与硬件设备之间进行数据传输的方法。RXTX是一个开源的Java库,它提供了对串行(RS232)和并行(IEEE1284)通信的支持,使得Java开发者能够方便地进行串口通信。...
Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,尤其在嵌入式系统、自动化设备、物联网应用中广泛应用。本资源“java串口通信全套完整代码-导入eclipse直接用”提供了一套完整的Java串口通信实现,...
Java串口通信是一种在两台计算机之间通过串行接口进行数据传输的技术,广泛应用于设备控制、数据采集、物联网等场景。在Java中实现串口通信,通常需要借助第三方库,如RXTX或JSSC(Java Simple Serial Connector)。...
Java串口通信是一种在计算机之间通过串行接口进行数据传输的技术。在Java中,我们可以使用javax.comm库或者RXTX库来实现串口通信。这个实例是关于如何使用GUI(图形用户界面)来构建一个Java应用程序,使得用户可以...
Java串口通信是一种在计算机与外部设备之间进行数据交换的技术,它通过标准的串行物理接口(例如RS-232)实现。在Java中,虽然标准库并未直接支持串口通信,但可以通过第三方库来实现,如RXTX和Java Comm API。本...
Java调用串口设备之ModbusRTU协议
Java串口操作是Java编程中一个相对特殊但重要的领域,主要涉及到硬件通信和设备交互。在实际应用中,比如工业自动化、物联网设备控制等场景,Java串口编程扮演着关键角色。标题提到的问题是关于数据传输时遇到的一个...
2. panel.java:这是用户界面的组件,包含了一个文本区域(show)用于显示从串口接收到的信息,一个文本字段(text)用于用户输入要发送的数据,以及连接、提交和停止按钮。当用户点击“提交”按钮时,输入的内容会...
Java串口实时显示技术是Java编程领域中一种用于设备间通信的重要方法,尤其适用于嵌入式系统、自动化设备以及物联网(IoT)应用。通过Java实现串口通信,开发者可以利用计算机的串行端口与外部硬件设备进行交互,接收...
Java串口通讯是一种在计算机与外部设备之间进行数据交换的技术,尤其在嵌入式系统、自动化设备、物联网应用中广泛应用。这个"Java 串口通讯demo"是一个实战项目,它结合了网页界面并通过WebSocket实现与服务器的实时...
Java串口,本实例大致工作流程是:将以下的所有java类都放在一个包下面,run as ---java application ,打开的是一个图形化界面,最上面的是一个输入文本框(也就是你要发射的指令输入框),下面是一个接收的返回...
Java虚拟串口模拟工具是一种软件解决方案,用于在Java应用程序中模拟物理串行端口,以进行串口通信。这类工具通常被开发人员用来测试、调试或实现与硬件设备的通信,而无需实际的物理串口。VSPD(Virtual Serial ...
Java串口开发是一种在Java应用程序中实现与外部设备通过串行接口进行通信的技术。这个技术广泛应用于各种领域,包括工业自动化、数据采集、物联网(IoT)设备等。本资源包含了一个名为"demo01"的示例项目,用于演示...
Java串口通信是一种在计算机之间或计算机与外部设备(如传感器、打印机等)之间通过串行数据传输的方式进行通信的方法。在Java中实现串口通信,通常需要利用Java的javax.comm库或者第三方库如RXTX。下面我们将深入...