易做图发送AT指令,但是没有响应
将计算机的COM3口与易做图连接,JAVA程序可以扫描到COM3,但是发送AT指令就没有反应;而且用超级终端的话,根本就输入不了命令;头疼了好久,望各位不吝赐教
另外:用程序试过,可以发送和接收短信。 JAVA 易做图 rxtx AT --------------------编程问答-------------------- 希望得到各位大神帮助。。。。 --------------------编程问答-------------------- 没有人帮忙么 --------------------编程问答-------------------- 另外:用程序试过,可以发送和接收短信。
这句是什么意思?用别的程序好使了,JAVA的没好使吗? --------------------编程问答-------------------- 百度一下JAVA串口编程,代码没几行,我调试的时候也经常调半天,另外COM你确定是COM3?COM1,COM2都试试 --------------------编程问答--------------------
用C#写的程序试用,发 接都没问题 --------------------编程问答--------------------
代码没问题。。。。这种一易做图的解决办法的 那肯定不会拿出来问的。。。
端口也没问题。。。确定是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相关