⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getinput.java

📁 用JAVA实现串口GSM发信息
💻 JAVA
字号:
package com;

import java.io.*;

public class GetInput extends Thread {
	int c = 0;// 用来保存接收到的一个字符

	char c1 = ' ';

	char c2 = ' ';

	char c3 = ' ';

	int i = 30;

	public static boolean isCheck = false;
	public static boolean Ring = false;
	public static boolean NewMsgs=false;//有新信息时:+CMTI: "SM",007

	boolean isNeed = false;

	public void run() {
		// System.out.println("Threak_Get:ok!Waiting input and print:");
		Gsm_Main_Frame.system_setup_jTextArea.insert("Com口初始化完毕.\n接收线程已启动:\n",
				0);
		try {
			while ((c = SendMsg.in.read()) != -1)// 如果接收到字符
			{
				System.out.print((char) c);// 则往屏幕打印
				if ((c1 == 'C') && (c2 == 'S') && (c3 == 'C')
						&& ((char) c == 'A'))// 判断开头
					break;
				c1 = c2;
				c2 = c3;
				c3 = (char) c;
			}
			// System.out.print("\n1\n");
			while ((c = SendMsg.in.read()) != -1)// 如果接收到字符
			{
				System.out.print((char) c);// 则往屏幕打印
				if (i-- > 0)
					SendMsg.csca += (char) c;
				else
					break;
			}
			// System.out.print("\n2\n");
			while ((c = SendMsg.in.read()) != -1)// 如果接收到字符
			{
				System.out.print((char) c);// 则往屏幕打印
				if ((c3 == 'O') && ((char) c == 'K')) // 判断开头
				{
					SendMsg.OK = true;
					isNeed = false;// 收完了,别保存信息了
					isCheck = false;
				}

				else if ((c1 == 'R') && (c2 == 'R') && (c3 == 'O')
						&& ((char) c == 'R'))// 判断开头
				{
					SendMsg.ERROR = true;
					isNeed = false;// 出错了,别保存信息了
					isCheck = false;
				}

				if (isCheck)// 检测是否需要保存信息,由调用者确定
					if ((c1 == 'C') && (c2 == 'M') && (c3 == 'G')
							&& ((char) c == 'L'))// 如果检测到收信息命令
						isNeed = true;// 需要开始保存信息
				if (isNeed)// 保存收到的信息数据
					SendMsg.Msgs += (char) c;
				
				if(!Ring)//有电话:RING...
					if ((c1 == 'R') && (c2 == 'I') && (c3 == 'N')
						&& ((char) c == 'G'))// 如果检测到有电话接入
						Ring=true;
				
				if(!NewMsgs)//有新信息:+CMTI: "SM",007
					if ((c1 == 'C') && (c2 == 'M') && (c3 == 'T')
						&& ((char) c == 'I'))// 如果检测到有信息,通知接受线程
						NewMsgs=true;
				
				c1 = c2;
				c2 = c3;
				c3 = (char) c;				
			}
			// System.out.print("\n3\n");
		} catch (IOException e) {
			// System.out.println("Threak_Get:OH MY GAD!");
			Gsm_Main_Frame.system_setup_jTextArea.insert("读取数据时出错!\n", 0);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -