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