<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Java串口并口程序編寫

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

    Sun就發布了Java和串口以及并口的開發包。但是在正常的搜索中只能找到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();/*不帶參數的getPortIdentifiers方法獲得一個枚舉對象,該對象又包含了系統中管理每個端口的CommPortIdentifier對象。注意這里的端口不僅僅是指串口,也包括并口。這個方法還可以帶參數。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下的開發維護已經停止了,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
    大家好,現在使用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文件后就出現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。
    現在我已經將dll都放到system32中了,但是還是出現如上的exception,請問這個如何解決呢?

    請email聯系我,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里開發程序的話,需要把comm.jar添加到類路徑中。項目屬性->Java Build Path->Library->Add External Jar

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

    2012-05-25 08:42 by 米谷
    博主你好,我最近在做java串口調試,遇到了問題,讀取串口數據時會亂碼,出現小方框,而且按發送按鈕發送數據要按N多次之后接收框才接收數據,而且是接收你N次發送的數據。這是怎么回事。我請教了以為前輩,可是他說java做不了硬件通訊的,只能做做串口軟件界面兼調用底層C語言。
    我想向博主確認一下,
    1、是否真的不可以用java做串口調試,要輔以C語言嵌套才可以??
    2、如果java可以做串口調試通訊部分,那,如何解決我上述的問題?
    麻煩了。
    留下我的郵箱:dongnamigu@126.com。
    主站蜘蛛池模板: 鲁啊鲁在线视频免费播放| 亚洲美女在线观看播放| 亚洲精品99久久久久中文字幕| 免费无码看av的网站| 精品国产免费一区二区| 免费看的成人yellow视频| 国产精品另类激情久久久免费| 在线视频免费国产成人| 国产成人涩涩涩视频在线观看免费 | 国产中文在线亚洲精品官网| 亚洲AⅤ无码一区二区三区在线 | 久久九九兔免费精品6| 182tv免费观看在线视频| 999久久久免费精品国产| 歪歪漫画在线观看官网免费阅读| 在线观看日本免费a∨视频| 嫩草视频在线免费观看| 成年女人永久免费观看片| 亚洲精品国产精品乱码不卞 | 国产免费看JIZZ视频| 成人超污免费网站在线看| 日韩电影免费在线| 亚洲成A人片77777国产| 伊人久久综在合线亚洲91| 久久久影院亚洲精品| 亚洲a级在线观看| 国产精品亚洲一区二区三区在线观看 | 久久精品国产精品亚洲艾| 亚洲美女视频网址| 亚洲国产精品无码观看久久| 色费女人18女人毛片免费视频| A毛片毛片看免费| 国产成人精品免费视频大全麻豆| 成人激情免费视频| 亚洲不卡无码av中文字幕| 亚洲av无码一区二区三区乱子伦 | 亚洲永久在线观看| 免费国产va视频永久在线观看| 你懂得的在线观看免费视频| 91久久成人免费| 亚洲?v无码国产在丝袜线观看|