亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

各位大俠,請問遇到下面的問題該怎么處理?

各位大俠,請問遇到下面的問題該怎么處理?

飲歌長嘯 2022-10-13 13:11:22
java 串口通訊,發送大于128的數時,收到的卻是0xff,而我發送小于128的數據時,接收到的數據都正常,當發送大于128的數時,收到的卻是0xff,請問如何處理?byte[] = new byte {0x11,0x22,0x33,0x44,0x55,0x66,0x77,(byte)0x88,(byte)0x99,(byte)0xAA};接收到的數據為,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0xff,0xff,0xff后面大于128的都變成了0xff,因為java串口通訊發送的int,有符號的數據,當數據大于128時,就變成了負數,請問這種如何處理.我直接接計算機的TX,RX,是正常的,即發出是什么,就收到什么數據,沒有變化.但是如果發送給帶linux操作系統的ARM板就會出現發送大于128數據,變成0xff,其它的正常.
查看完整描述

3 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

通用的方案:發送前將數據用Base64編碼,接受數據后用Base64解碼。
Base64編碼之后的長度會比沒編碼前多大約1/2的字節數,所以自己看看能不能接受。

查看完整回答
反對 回復 2022-10-16
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

作為一個路過的人,給你提點建議:
1. 沒有源代碼很難搞清楚你到底遇到了什么問題,除非和你碰上了同樣問題并解決了的人
2. 你至少要把你發送部分代碼,和接收部分代碼給我們看看吧
3. 既然
我直接接計算機的TX,RX,是正常的,即發出是什么,就收到什么數據,沒有變化.
這個成立,那么我覺得和發送的程序應該沒多大關系

查看完整回答
反對 回復 2022-10-16
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

byte的數據范圍只能是-128到127,你后面幾個都大于127了,用int或者short試試。

查看完整回答
反對 回復 2022-10-16
  • 3 回答
  • 0 關注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號