基于Java语言的51单片机串口通讯PC机程序
getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
StringBuffer readBuffer = new StringBuffer();
String scannedInput = null;
int c;
try {
while ((c = inputStream.read()) != 0x00 && c != 0x0D && c != 0x0A) {
readBuffer.append( (char) c);//数据包以回车或者换行表示结束
}
scannedInput = readBuffer.toString();
ioBean.Receiver.append("\n" + scannedInput);
TimeStamp = new java.util.Date().toString();
System.out.println(TimeStamp + ": scanned input received:" + scannedInput);
inputStream.close();
} catch (IOException e) {}
break;
}
}
4.测试程序
程序运行后如图四所示。
为了方便程序运行,我们作一个批处理文件,和程序生成的jar文件放在一个目录里,这样就可以很方便的在含有Java虚拟机的系统里运行我们的程序了。可以将JBuilder运行窗口(Messages)的信息直接拷贝过来,当然也可以自己建立。
我的批处理文件如下所示:
@echo off
@REM设置路径包括Java虚拟机和程序jar文件路径
set path=%JAVA_HOME%\bin
set classpath=%cd%\comm.jar
@REM运行程序,注意在主程序前增加包名,否则找不到主函数
echo Now initializing the program,please wait a minite...
java comm.CommApplication
图4 Test my programme
4展望
Java作为一个逐渐成熟的程序设计语言,在网络和嵌入式系统越来越多地得到广泛的应用,但是微机底层程序开发发展缓慢。本文应用Java作为串口上位机程序开发语言,是考虑到Java语言的各种优越性,主要是其平台无关性,强大的可移植性,这一点在不久的将来会受到更多的重视。
本文代码可免费使用,如果需要本文程序的源代码,请于本作者联系,gooseli@163.com。
参考资料:
1.A How-To on Accessing serial ports in the Windows environment using the Java Communications API,By Rick Proctor,www.borland.com,2004年3月14日,http://bdn.borland.com/article/0,1410,31915,00.html
2.The Java Communications API Documentations,www.sun.com,2004年11月
3.JBuilder 9集成开发实例解析,张洪斌编,机械工业出版社,2004年1月
4.精通JBuilder 9,飞思科技产品研发中心编,电子工业出版社,2003年8月
5.单片微机原理及应用,丁元杰、赵秀菊、陈瀛清编,机械工业出版社,1999年8月
Java语言51单片机串口通讯PC机程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)