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();
}
}
}
但并不是說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文件,就找不到任何一個串口和并口


















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