当前位置:编程学习 > JAVA >>

短信猫发送AT指令,但是没有响应

将计算机的COM3口与短信猫连接,JAVA程序可以扫描到COM3,但是发送AT指令就没有反应;而且用超级终端的话,根本就输入不了命令;头疼了好久,
望各位不吝赐教 
另外:用程序试过,可以发送和接收短信。 JAVA 短信猫  rxtx AT  --------------------编程问答-------------------- 希望得到各位大神帮助。。。。 --------------------编程问答-------------------- 没有人帮忙么 --------------------编程问答-------------------- 另外:用程序试过,可以发送和接收短信。
这句是什么意思?用别的程序好使了,JAVA的没好使吗? --------------------编程问答-------------------- 百度一下JAVA串口编程,代码没几行,我调试的时候也经常调半天,另外COM你确定是COM3?COM1,COM2都试试 --------------------编程问答--------------------
引用 3 楼 lwb314 的回复:
另外:用程序试过,可以发送和接收短信。
这句是什么意思?用别的程序好使了,JAVA的没好使吗?

  用C#写的程序试用,发  接都没问题 --------------------编程问答--------------------
引用 4 楼 lwb314 的回复:
百度一下JAVA串口编程,代码没几行,我调试的时候也经常调半天,另外COM你确定是COM3?COM1,COM2都试试


代码没问题。。。。这种一大片的解决办法的  那肯定不会拿出来问的。。。
  端口也没问题。。。确定是COM3 --------------------编程问答-------------------- 百度一下JAVA串口编程吧。另外有没有驱动什么的,需要放到system32下边的都看一看 --------------------编程问答-------------------- 快下班了,我家里电脑里有我当年用短信猫发短信得例子好像,晚上回家帮你找找吧 --------------------编程问答-------------------- package com.test;
import gnu.io.CommPortIdentifier;

import gnu.io.PortInUseException;

import gnu.io.SerialPort;

import gnu.io.UnsupportedCommOperationException;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Enumeration;

import java.util.TooManyListenersException;

public class ComTest {

    /**
     * @param args

     * @throws Exception

     */

    @SuppressWarnings("unchecked")

    public static void main(String[] args) throws Exception {

        String port = "COM3";

        for (Enumeration<CommPortIdentifier> e = CommPortIdentifier
                .getPortIdentifiers(); e.hasMoreElements();) {

            CommPortIdentifier portId = e.nextElement();

            if (portId.getName().equals(port)) {

                System.out.println("\r");

                System.out.println("找到端口: " + port);

                sendAtTest(portId);

            }

        }

    }

    private static void sendAtTest(CommPortIdentifier portId)

            throws PortInUseException, UnsupportedCommOperationException,

            TooManyListenersException, IOException, InterruptedException {

        System.out.println("打开端口 …");

        final SerialPort serialPort = (SerialPort) portId.open("wavecom", 100);

        serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN);

        serialPort.setSerialPortParams(9600,// 波特率

                SerialPort.DATABITS_8,// 数据位数

                SerialPort.STOPBITS_1, // 停止位

                SerialPort.PARITY_NONE);// 奇偶位

        System.out.println("端口已打开。\n发送AT指令 …");

        InputStream inputStream=serialPort.getInputStream();

        OutputStream outputStream=serialPort.getOutputStream();

        outputStream.write("AT\r".getBytes());

        Thread.sleep(1000);

        byte[] data=new byte[1024];

        for(int i=inputStream.read(data);;i=inputStream.read(data)){

            if(i>0){

                System.out.println(new String(data,0,i));

                System.out.println("成功收到指令返回值。");

                break;

            }

        }
        serialPort.close();
        System.out.println("关闭端口。");

    }

}

这是代码  
 程序运行结果如下:
WARNING:  RXTX Version mismatch
Jar version = RXTX-2.2pre1
native lib Version = RXTX-2.2pre2


找到端口: COM3
打开端口 …
端口已打开。
发送AT指令 …

程序一直停在 这。。。。没有返回。。。
按道理应该是返回OK的 --------------------编程问答-------------------- 我当时用的好像是SMSLib-Java-v2.1.2这个类库开发的,楼主可以看看这个 --------------------编程问答-------------------- 用短信猫发和用短信提供商短信服务有什么区别? --------------------编程问答-------------------- 好吧。。。还是没有解决。。 --------------------编程问答-------------------- 再来。。。。
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,