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

📄 attest.java

📁 自己实现的基于串口通讯发送短消息的JAVA代码
💻 JAVA
字号:
package com.zjjzl.comm.at;

import java.io.InputStream;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
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 ATTest implements SerialPortEventListener {
	
	Enumeration portList = null;
	
	private SerialPort serialPort = null;
	
	private InputStream input = null;
	private OutputStream output = null;
	
	private String owner = "TestSerialPort";
	private String portName = "COM1";
	private int baudRate = 9600;
	private int dataBits = 8;
	private int stopBits = 1;
	private int parity = 0;
	private int flowControlMode = 1;
	
	private boolean opened = false;
	
	public ATTest(){}
	
	//在打开串口前首先要加载Win32com.dll,如果没有把它放到JRE路径下,必须要自己显式的加载.
	/*public void getDriver(String driverName){
		
		try {
			System.loadLibrary("Win32com");
			CommDriver driver = (CommDriver)Class.forName(driverName).newInstance();
			driver.initialize();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}*/
	
	//打开串口
	public void openPort(String portName,String owner,int keepTime) throws PortInUseException{
		
		portList = CommPortIdentifier.getPortIdentifiers();
		
		while(portList.hasMoreElements()){
			
			CommPortIdentifier portId = (CommPortIdentifier)portList.nextElement();
			if(portId.getName().equals(portName)){
				
				serialPort = (SerialPort)portId.open(owner, keepTime);
				break;
			}
		}
	}
	
	//设置串口参数
	public void setPortParams(int bRate,int dBit,int sBit,int parity) throws UnsupportedCommOperationException, TooManyListenersException{
		
		if(serialPort != null){
			
			serialPort.setSerialPortParams(bRate, dBit, sBit, parity);
			serialPort.notifyOnDataAvailable(true);
			serialPort.setFlowControlMode(this.flowControlMode);
			serialPort.addEventListener(this);
		}
	}
	
	public void serialEvent(SerialPortEvent arg0) {
		
		
	}
	
	public static void main(String[] args) throws ParseException{
		
		
		  String[] dateString = { "1900-01-01 07:59:59", "1900-01-01 08:00:00",
		        "1900-01-01 08:05:51", "1900-01-01 08:05:52" };
		    DateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		    for (int i=0;i<dateString.length;i++) {
		      System.out.println(dateString[i] + "=" + dateTimeFormat.parse(dateString[i]));
		    }
		

	}
}

⌨️ 快捷键说明

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