Re: 關於 RS232 傳輸接收資料

看板java作者 (poc)時間17年前 (2008/10/02 02:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/7 (看更多)
※ 引述《tkcn (小安)》之銘言: : 你的 endian 觀念還是錯的很離譜, 恩。我連nibble都換了 : 還有我認為這隻程式根本不需要用到 endian 的轉換。 : ※ 引述《poc7667 (poc)》之銘言: : : 意思是說int k=Integer.parseInt(sentBuf[i],16); : : 之後就直接 outputStream.write(k);出去了嗎? : : 這邊就算先把他轉成binaryString 再去parse他,直接丟出去, : : 應該也不影響結果吧? : : 16進位,2進位,最終出去都是signal : : 只是給人看的而已! : 對..16進位, 2進位是給人看的, : 你要送出去的應該是真正的 value, : 而不是那 XX 進位的字串。 : 建議你還是先釐清觀念吧, 我到了這邊,就不是在送字串了 int k=Integer.parseInt(sentBuf[i],16); outputStream.write(k); 轉成binaryString 再去parse他 <-也沒有打算要送字串出去。 : 現在這樣亂槍打鳥不是辦法。 因為document 沒有說機器真正東西要怎麼吃,所以就是亂槍打鳥.... 不過自己最大問題是,javadoc也沒去弄好資料型態 outputStream.write 他吃int 只吃 unsigned 會自動被mod 256 要送的話還是要送byte出去 (byte) Integer.parseInt(XX,16) byte 會把value 轉成 2's complemnt... -128 ~ 127 要轉回int看的話,要再做一下mask 因為長度不同 這幾篇文章還是感謝你的指點 XD 終於弄好這個,原本不覺得問題的小東西了。 IO...感覺不是寫程式的重點不起眼,但是又十分的重要。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.198.188 ※ 編輯: poc7667 來自: 140.113.198.57 (10/02 12:42)
文章代碼(AID): #18uxhF6h (java)
討論串 (同標題文章)
文章代碼(AID): #18uxhF6h (java)