<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    云自無心水自閑

    天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
    posts - 288, comments - 524, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Java串口并口程序編寫

    Posted on 2007-05-18 20:39 云自無心水自閑 閱讀(7809) 評論(14)  編輯  收藏 所屬分類: Java
     Java在傳統(tǒng)上感覺和硬件打交道的比較少,這部分工作用C語言的比較多。
    但并不是說Java不具備這樣的能力。

    Sun就發(fā)布了Java和串口以及并口的開發(fā)包。但是在正常的搜索中只能找到Linux和Solaris版本的類庫。
    下面這個鏈接是Win32平臺下的包,找了很久才找到。
    http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=7235-javacomm-2.0-spec-oth-JSpec&SiteId=JSC&TransactionId=noreg


    下面簡單說一下使用的步驟。

    1. 把下載包中的win32com.dll放到windows\system32目錄下,文檔中說是放在jdk的bin目錄下,但是會報錯,我后來放在system32目錄下解決此問題
    2. 把comm.jar和javax.comm.properties這兩個文件放在類路徑中,注意要放在一起。文檔上是要求放在jdk的lib目錄中。
    如果缺少javax.comm.properties文件,就找不到任何一個串口和并口

            portList = CommPortIdentifier.getPortIdentifiers();/*不帶參數(shù)的getPortIdentifiers方法獲得一個枚舉對象,該對象又包含了系統(tǒng)中管理每個端口的CommPortIdentifier對象。注意這里的端口不僅僅是指串口,也包括并口。這個方法還可以帶參數(shù)。getPortIdentifiers(CommPort)獲得與已經被應用程序打開的端口相對應的CommPortIdentifier對象。 getPortIdentifier(String portName)獲取指定端口名(比如“COM1”)的CommPortIdentifier對象。*/

            
    while (portList.hasMoreElements()) {
                portId 
    = (CommPortIdentifier) portList.nextElement();
                
    if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)/*getPortType方法返回端口類型*/ {
                    
    if (portId.getName().equals("COM1"))/* 找Windows下的第一個串口*/ {
                        SimpleRead reader 
    = new SimpleRead();
                    }

                }

            }

    最后向大家推薦一個工具:Virtual Serial Port Driver XP4
    這個工具可以在機器上虛擬一對相連接的串口。
    這樣在一臺機器上不需要其他設備,就可以進行串口程序的測試、調試工作了。

     




    評論

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-05-18 21:25 by Long
    win32com.dll 和 javax.comm.properties 是放在 jre 的 lib 下,而不是 jdk 的 lib 下,所以博主運行程序的時候會報錯,另外,comm.jar和javax.comm.properties不必放在一起。

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-05-19 10:28 by kamhung
    javax.comm 3.0u1 早就出來了
    http://www.sun.com/download/products.xml?id=43208d3d

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-05-19 10:30 by 云自無心水自閑
    @kamhung

    3.0U1是for Linux 和 Solaris的

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-05-19 21:02 by Matthew Chen
    推薦rxtx包,可以完美替代javax.comm,目前javax.comm在windows下的開發(fā)維護已經停止了,rxtx的舊版本支持在javax.comm-win32-2.0基礎上的擴展,rxtx新版本支持對javax.comm的覆蓋式支持,也就是說原來用javax.comm的把所有import javax.comm.*改成import gnu.io.*就可以正常使用了,其他只須相關的dll文件,不用properties文件,支持的端口類型也明顯多了很多,請看: http://rxtx.org/
    兩個庫都可以在Eclipse下隨項目跑,相信在純項目中也可以做到。

    看我的blog,里面有相關介紹http://blog.csdn.net/djsl6071/category/296859.aspx

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-05-19 21:40 by 云自無心水自閑
    @Matthew Chen

    多謝!

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-07-05 14:21 by getmywish
    大家好,現(xiàn)在使用jdk1.6和jdk1,2的目錄格式不同(所以按照comm.jar幫助文件會報錯nosuchportexception),我在兩臺win2000,p4 2.0 845 ,p3 1.2 815 上測試成功,win32com.dll jdk1.6.0\bin
    comm.jar: jdk1.6\jre\lib\ext 如果jcreator編程classpath:
    c:\program files\java\jdk1.6\jre\lib\ext\comm.jar

    javax.comm.properties jdk1.6\jre\lib 我換了別的路徑都不好用
    而且不用配置路徑。

    # re: Java串口并口程序編寫[未登錄]  回復  更多評論   

    2007-12-04 19:41 by benjamin
    請問我在eclipse中按照如上配置運行成功,但是export jar文件后就出現(xiàn)exception:
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPort
    EventListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    …………
    應該是找不到那個dll。
    現(xiàn)在我已經將dll都放到system32中了,但是還是出現(xiàn)如上的exception,請問這個如何解決呢?

    請email聯(lián)系我,benjamin9@126.com多謝了.

    # re: Java串口并口程序編寫  回復  更多評論   

    2007-12-05 21:42 by usherlight
    你在export的時候,復選了包括comm.jar的目錄了嗎?

    # re: Java串口并口程序編寫  回復  更多評論   

    2008-01-30 14:49 by 譚軍
    那個win32com.dll,comm.jar和javax.comm.properties 到底放在那里?

    # re: Java串口并口程序編寫  回復  更多評論   

    2008-01-31 10:11 by 譚軍
    大家好!版主!
    我的javax.comm.* 始終報錯!!
    怎么辦呀!!
    我留下個QQ請!!多多指教
    113800597

    # re: Java串口并口程序編寫[未登錄]  回復  更多評論   

    2008-02-01 19:40 by 云自無心水自閑
    @譚軍
    1、win32com.dll應該放在jre的bin目錄下,在我的機器上就是:D:\Program Files\Java\jre1.6.0_02\bin

    2、javax.comm.properties應該放在jre的lib目錄下,在我的機器上就是
    D:\Program Files\Java\jre1.6.0_02\lib

    3、comm.jar放在jre的lib\ext目錄下,在我的機器上就是D:\Program Files\Java\jre1.6.0_02\lib\ext

    最后,你能貼一下,錯誤的詳細信息嗎?

    # re: Java串口并口程序編寫  回復  更多評論   

    2008-02-18 15:39 by plin.zhang
    Hi 博主,我按照上述方法將win32com.dll和comm.jar,及javax.comm.properties放在相應的地方,可是Eclipse中的程序還是提示"javax.comm can't be resolved"。
    用的Eclipse是 3.1.0版本,JDK是1.6.0
    能幫忙解決下嗎? 實在感謝。


    plin134@163.com
    謝謝!

    # re: Java串口并口程序編寫  回復  更多評論   

    2008-02-19 08:46 by usherlight
    如果你是在eclipse里開發(fā)程序的話,需要把comm.jar添加到類路徑中。項目屬性->Java Build Path->Library->Add External Jar

    # re: Java串口并口程序編寫  回復  更多評論   

    2012-05-25 08:42 by 米谷
    博主你好,我最近在做java串口調試,遇到了問題,讀取串口數(shù)據(jù)時會亂碼,出現(xiàn)小方框,而且按發(fā)送按鈕發(fā)送數(shù)據(jù)要按N多次之后接收框才接收數(shù)據(jù),而且是接收你N次發(fā)送的數(shù)據(jù)。這是怎么回事。我請教了以為前輩,可是他說java做不了硬件通訊的,只能做做串口軟件界面兼調用底層C語言。
    我想向博主確認一下,
    1、是否真的不可以用java做串口調試,要輔以C語言嵌套才可以??
    2、如果java可以做串口調試通訊部分,那,如何解決我上述的問題?
    麻煩了。
    留下我的郵箱:dongnamigu@126.com。
    主站蜘蛛池模板: 99免费在线观看视频| 日日躁狠狠躁狠狠爱免费视频| 中国一级特黄的片子免费| 大胆亚洲人体视频| 欧洲亚洲综合一区二区三区| 在线观看无码的免费网站| 亚洲色在线无码国产精品不卡| 毛片基地免费视频a| 亚洲av无码偷拍在线观看| 免费永久看黄在线观看app| 老司机午夜精品视频在线观看免费| 全部免费国产潢色一级| 男女男精品网站免费观看 | 三上悠亚在线观看免费| 国产亚洲色视频在线| 在线成人精品国产区免费| 久久亚洲国产精品成人AV秋霞 | 精品亚洲福利一区二区| 亚洲国产免费综合| 成在人线av无码免费高潮喷水| 亚洲AV日韩AV天堂久久| 中文字幕无码播放免费| 国产亚洲综合一区二区三区| 国产啪亚洲国产精品无码| 99精品视频在线视频免费观看 | 日韩成人免费在线| 黄视频在线观看免费| 亚洲精品午夜视频| 国产无遮挡又黄又爽免费视频| 精品多毛少妇人妻AV免费久久| 亚洲欧洲日产v特级毛片| 国产成人免费福利网站| 在线涩涩免费观看国产精品| 亚洲一线产区二线产区区| 久久影视综合亚洲| 久久国内免费视频| aa在线免费观看| 伊人久久亚洲综合影院首页| 国产专区一va亚洲v天堂| 久久久久久国产a免费观看黄色大片 | 免费播放一区二区三区|