انسخ رمز الكود كما يلي:
import gnu.io.*;
import java.util.*;
استيراد java.io.*;
اختبار الطبقة العامة
{
معرف منفذ CommPortIdentifier الثابت؛
قائمة ميناء التعداد الثابتة؛
static int bauds[] = { 9600, 19200, 57600, 115200 }; // اكتشف معدل الباود الذي يدعمه المنفذ
الفراغ العام الثابت الرئيسي (String[] args)
{
portList = CommPortIdentifier.getPortIdentifiers();
System.out.println("اختبار اتصال منفذ جهاز الرسائل القصيرة...");
بينما (portList.hasMoreElements())
{
portId = (CommPortIdentifier) portList.nextElement();
إذا (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
System.out.println("تم العثور على منفذ تسلسلي:" + portId.getName());
لـ (int i = 0; i < bauds.length; i++)
{
System.out.print("محاولة في" + الباود[i] + "...");
يحاول
{
المنفذ التسلسلي المنفذ التسلسلي؛
إدخال الدفق في الدفق؛
OutputStream outStream؛
كثافة العمليات ج؛
استجابة السلسلة؛
serialPort = (SerialPort) portId.open("SMSLibCommTester"، 1971);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN);
serialPort.setSerialPortParams(bauds[i], SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
inStream = serialPort.getInputStream();
outStream = serialPort.getOutputStream();
serialPort.enableReceiveTimeout(1000);
ج = inStream.read();
بينما (ج ! = -1)
ج = inStream.read();
outStream.write('A');
outStream.write('T');
outStream.write('/r');
يحاول
{
Thread.sleep(1000);
}
قبض (الاستثناء ه)
{
}
استجابة = ""؛
ج = inStream.read();
بينما (ج ! = -1)
{
الاستجابة += (شار) ج؛
ج = inStream.read();
}
إذا (response.indexOf("OK") >= 0)
{
يحاول
{
System.out.print("الحصول على معلومات الجهاز...");
outStream.write('A');
outStream.write('T');
outStream.write('+');
outStream.write('C');
outStream.write('G');
outStream.write('M');
outStream.write('M');
outStream.write('/r');
استجابة = ""؛
ج = inStream.read();
بينما (ج ! = -1)
{
الاستجابة += (شار) ج؛
ج = inStream.read();
}
System.out.println(" تم العثور على الجهاز: " + Response.replaceAll("//s+OK//s+"، "").replaceAll("/n"، "").replaceAll("/r"، " "));
}
قبض (الاستثناء ه)
{
System.out.println("لم يتم العثور على جهاز!");
}
}
else System.out.println("لم يتم العثور على جهاز!");
serialPort. Close();
}
قبض (الاستثناء ه)
{
System.out.println("لم يتم العثور على جهاز!");
}
}
}
}
}
}