ส่งอาร์เรย์ไบต์บนพอร์ตอนุกรมเพื่อส่งออกสตรีม

เมื่อฉันต้องการส่งอาร์เรย์ไบต์บนสตรีมพอร์ตอนุกรมด้วย java บนอุปกรณ์ปลายทางฉันได้รับผลลัพธ์ที่แตกต่าง !!!

byte[] sendingPack = new byte[7];
    sendingPack[0] = 0x6E;
    sendingPack[1] = 0x55;
    sendingPack[2] = (byte) 0x0D;
    sendingPack[3] = (byte) (1 & 0x000000FF);
    sendingPack[4] = 0x01;
    sendingPack[5] = 0x0D; 
    sendingPack[6] = (byte) 0xAA;

    getSendBuffer().getOutputStream().write(sendingPack);

sending array : byte[]{0x6E,0x55,0x0D,0x01,0x01,0x0D,0xAA} 
receive result array : 6E 55 0D 0A 01 01 0D 0A AA 

บนเทอร์มินัล CodeVisionAVR ฉันได้รับ "0A"!! ฉันจะแก้ไขปัญหานี้ได้อย่างไร??


person Saeed Hashemi    schedule 17.01.2016    source แหล่งที่มา
comment
@อันที่จริงก็เหมือนกับอันนี้ 110 85 13 10 1 1 13 10 -86   -  person Saeed Hashemi    schedule 17.01.2016
comment
@greenapps ฉันไม่สามารถส่งเลขฐานสิบหกเข้าสตรีมเอาท์พุตได้   -  person Saeed Hashemi    schedule 17.01.2016
comment
@greenapps จริง ๆ แล้วฉันใส่ทั้งหมดเป็นเลขฐานสิบหกหลังจากผลลัพธ์การส่งอุปกรณ์เปลี่ยนไป   -  person Saeed Hashemi    schedule 17.01.2016
comment
ให้เราสนทนาต่อในการแชท   -  person Saeed Hashemi    schedule 17.01.2016
comment
@greenapps ฉันส่ง 6E 55 0D 01 01 0D AA และผลลัพธ์ 6E 55 0D 0A 01 01 0D 0A AA   -  person Saeed Hashemi    schedule 17.01.2016
comment
ใครอยู่ฝ่ายรับ? มันอ่านไบต์ได้อย่างไร? ให้ข้อมูลเพิ่มเติมในโพสต์ของคุณ   -  person greenapps    schedule 17.01.2016
comment
@greenapps มีเทอร์มินัลเล็กน้อยบน CodeVisionAVR   -  person Saeed Hashemi    schedule 17.01.2016
comment
have 0A plussage. โปรดอธิบายสิ่งที่เกิดขึ้นให้ดีขึ้น คุณปล่อยให้เราแก้ไขมากเกินไป คุณสามารถบอกได้ดีขึ้นมากว่าเกิดอะไรขึ้นและที่ไหน   -  person greenapps    schedule 17.01.2016
comment
@greenapps เมื่อส่ง 6E 55 0D 01 01 0D AA ฉันต้องได้รับ 6E 55 0D 01 01 0D AA ไม่ใช่ 6E 55 0D 0A 01 01 0D 0A AA   -  person Saeed Hashemi    schedule 17.01.2016


คำตอบ (1)


เทอร์มินัลอาจอยู่ในโหมดการอ่านข้อความและไม่อยู่ในโหมดอ่านไบนารี

0x0A ซึ่งถูกแทรกหลังทุกๆ 0x0D ที่คุณส่งคือการแปลงแคร่คืน

เทอร์มินัลแปลง "\r" เป็น "\r\n" โดยจะเพิ่มอักขระป้อนบรรทัดให้กับการขึ้นบรรทัดใหม่ทุกครั้ง

เทอร์มินัลจะแปลงทุก ๆ 0D เป็น 0D 0A

feature เดียวกันนี้สามารถพบได้ในโปรโตคอล ftp คุณบอกลูกค้าของคุณถึงวิธีถ่ายโอนไฟล์: ในโหมดข้อความหรือไบนารี

person greenapps    schedule 17.01.2016