- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java的串口通信程序
首先需要到到sun主贞下载串口通信的包,因为一般的jrd中不含有这 个包的,有点补丁的意思。(CSDN上也有)。解压缩,为了使Java Communications AH能够正确的与Windows系统交互,需要几个小的技巧。下而是三个很重要的 文件,你可以从Sim的网站上下载得到
comm, jar win32com. dll javax. comm, properties
对于JVM来说,要正确的识别串口,将这几个文件放在系统中合适的位置使很重 要的。
comm.. jar应该放在以下0录中
%JAVA_HOME%/lib
%JAVA HOME%/jre/lib/ext
win32com. dll应该放在以下目录中
%windir%system32
javax. com. properties 该放在以下 0录中
%JAVAJIOME%/lib
%JAVA_HOME%/jre/lib
你可以通过编译和运行Sun的例程来验证串口是否可以使用了。
JBuilder 中安装安装 Java Communication API
(以下在JBuilder 2006中测试通过)
如果你使用JBuilder,那么还需要为JBuilder配置API。
一般来说,根据你的JBuilder配置,你也评需要将win32com. dll和 javax. com. properties安装到相应的目录中,可以参照上述的目录。例如,如 果你使用JBuilder附带的JVM的话,你也许需要将win32com. dll和 javax. com. properties 放到 C:\Borland\JBuilder2006\jdkl. 5 的相应位置。
我使用的是JCreator,在打开Configure,然后点击option,选中 jdk profile然后双击选中的jdk文件,选择edit,在弹出的窗口中选择串口通 信包所在的文件(.jar文件),这样配置就算完成了。
以下分别是接收和发送程序,CSDN上搜的,省的自己写了:
发送程序:
import java. awt.
import java. awt. event.
import java, io?氺;
import java, util?氺;
import javax. comm.
class S_Frame extends Frame implements Runnable, ActionListener { _
/*检测系统中可用的通讯端|_|类*/
static CommPortTdentifier portTd;
/^Enumeration为枚举型类,在util屮*/
static Enumeration portList;
OutputStream outputStream;
/*RS-232 的串行l_l */
Serial Port serial Port;
Thread rcadThrcad;
Panel p二new Panel ();
TextField in_message=new TextField (打开 C0M1,波特率 9600,数据位 8,停止 位 1.);-
TextArea out_message=new TextAreaO ;
Button btnOpcn=ncw Button(〃打开串门,发送数据〃);
Button btnClose=new Button(〃关朗申口,停止发送数据〃);
byte data[]=new byte[10240];
/*设置判断要是否关闭串U的标志吟
boolean mark;
/*安排窗体*/
S_Frame ()
{ super (〃串口发送数据〃);
setSize (200, 200);
setVisible(true);
add(out_mcssagc, Center);
add (p,North);
p.add (btnOpen);
p.add (btnClose);
add(in_message, 〃South〃);
btnOpen. addActionListcncr(this);
btnClose. addActionListener(this);
} //R Frame () end
/*点击按扭打开申口.*/
public void actionPerformed(ActionEvent event) {
if (event. getSource()=btnClose) {
serial Port, close () ; //关闭串口
mark=truc; //用于屮止线程的run()方法
in_message. setText (〃申口 COM 1己经关朗,停止发送数据.〃);
}—
e
文档评论(0)