新聞中心
編程技巧:Java串口通信簡介
為了從RS485讀取數(shù)據(jù),由于暫時沒有硬件設備,系統(tǒng)是win7,故采用Virtual Serial Port Drive(VSPD)這塊虛擬串口軟件代替。并下載sscom3exe模擬串口通信軟件。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、雅安服務器托管、營銷軟件、網站建設、南江網站維護、網站推廣。
新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因為javacomm20-win3zip包里有樣例SimpleRead.java,可以通過這個例子測試串口是否正確。
TCP/IP直接用Socket開發(fā)即可(性能要求好的就是使用NIO),或者你去看看Apache的Mina類庫,Mina直接支持了TCP/IP和串口。
串口的話只能用JAVA調用,然后通過關閉、打開來判斷。
有需要可以找廣州泰尚信息系統(tǒng)有限公司,專門做門禁一卡通的場家。
用java編寫的串口通信,上位機發(fā)送和接收顯示的數(shù)據(jù)都要是16進制的,求...
那么在java開發(fā)中發(fā)送數(shù)據(jù)的時候使用OutputStream,而其write()的參數(shù)是字節(jié)數(shù)組、int整形。如果使用字節(jié)數(shù)組發(fā)送的時候,通常可以直接寫成out.write(1234.getBytes())。這樣一來單片機讀到的數(shù)據(jù)則是31 32 33 34。
發(fā)送的16進制串要先轉換為byte[]然后writer 接受方read()后要把字節(jié)在轉換成16進制串。
JAVA不能直接同硬件底層打交道,這種情況只能編寫本地程序,如用C/C++,并編譯為動態(tài)鏈接庫,在JAVA中調用庫【利用本地方法】。只用JAVA無法實現(xiàn)。
我自己的電腦上有一段源代碼,就是基于TCP聊天小代碼,能進行相互之間的消息接受。我的代碼是直接傳輸字符串的,不是16進制滴。嗯,也貼出來看看吧!運行服務器,c1,c2就可以了,c1與c2可進行通信。
要說是幾進制,那么肯定是2進制嘛。在硬件層面上看,串行通信的數(shù)據(jù)肯定是一位一位的傳的,一次一般可以傳8位。也可以設置是一次傳9位,但多出來的一位一般來說是校驗位,所以說數(shù)據(jù)還是8位,即一個字節(jié)。
java如何從串口讀取數(shù)據(jù)帶GUI
1、導入支持java串口通信的jar包:在maven項目的pom.xml中添加RXTXcomm的依賴 或者 下載RXTXcomm.jar并導入到項目中。
2、text.getText().trim();getText是用來獲取text中輸入的字符串的,trim()是用來將獲得的字符串兩端的空格符去掉的。
3、java通過串口就可以跟讀卡器建立串口通信。
4、通過CommPort的getInputStream()可以取得端口的輸入流,它是java.io.InputStream接口的一個實例。我們可以用標準的InputStream的操作接口來讀取流中的數(shù)據(jù),就像通過FileInputSteam讀取文件的內容一樣。
分享題目:java串口通訊代碼 java串口發(fā)送數(shù)據(jù)
瀏覽路徑:http://www.ef60e0e.cn/article/dcpijdc.html