Java串口编程3
终于完成了串口的编写,功能很简单,如下:
做出一个简单界面,向串口发送特定的命令(串口上接有供测试用的串口设备),接收设备返回的数据在界面上显示:
import gnu.io.CommPortIdentifier;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.SerialPortEvent;
import gnu.io.SerialPortEventListener;
import gnu.io.UnsupportedCommOperationException;
import java.awt.Button;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.TooManyListenersException;
class S_Frame extends Frame implements ActionListener,SerialPortEventListener {
//检测系统中可用的通讯端口类
static CommPortIdentifier portId;
//Enumeration 为枚举型类,在util中
static Enumeration portList;
//输入输出流
InputStream inputStream;
OutputStream outputStream;
//RS-232的串行口
SerialPort serialPort;
Thread readThread;
String str = "";
//界面
Panel p = new Panel();
TextArea in_message = new TextArea("打开COM1,波特率9600,数据位8,停止位1.");
TextArea out_message = new TextArea("X010600Y");
Button btnOpen = new Button("打开串口, 发送数据");
Button btnClose = new Button("关闭串口, 停止发送数据");
byte data[] = new byte[10240];
相关文档:
package arrays.compara;
import java.util.Arrays;
public class Student {
public static void main(String[] args) {
Stu[] stus = new Stu[]{
new Stu(156,34,"ad"),
new Stu(153,24,"cc"),
new Stu(126,37,"ab"),
......
package arrays.myArray;
public class MyLinkedList {
private int size = 0;
private Node1 head = null;
// 添加
public void add(Object obj) {
add(size, obj);
}
// 修改
public void add(int index, Object obj) {
if (null == head) ......
package game;
public class HanTa {
public static int i = 0;
public static void main(String[] args){
calc('A', 'B', 'C', 2);
System.out.println("最少需要"+i+"步。");
}
//汉罗塔游戏计算
public static void calc(char src, char ilde, c ......
package game;
public class JieCeng {
public static void main(String[] args){
System.out.println(fun(10));
}
public static int fun(int n){
if(1==n)
return 1;
System.out.println( n * fun(n-1));
return ......
这篇文章讨论和阐明了提供 JavaTM I/O 性能的多种技术。大多技术围绕调整磁盘文件 I/O,但是有些内容也同样适合网络 I/O 和窗口输出。第一部分技术讨论底层的I/O问题,然后讨论诸如压缩,格式化和串行化等高级I/O问题。然而这个讨论没有包含应用设计问题,例如搜索算法和数据结构,也没有讨论系统级的问题,例如文件高速缓冲 ......