您好,我對C#編程相對較新,希望得到一些幫助,我正在編寫一個程序,它通過RS232與一臺機器進行通信,並需要發送一系列字節來啓動com。我在,我想我需要分成兩個字節,以適應字節C#幫助將兩個字節的字拆分爲字節
// { <DLE> , <STX> , "G" , <DLE> , <ETX> , 16 BIT CRC CCITT split into two bytes}
byte[] byteToSend = new byte[] { 0x10, 0x02, 0x47, 0x10, 0x03, 0x421F };
數組當我轉換0x421F成二進制數據包的末尾有兩個字節的16位CRC字,它分成兩半我得到0x42和0x1F 然而,較低有效字節0x1F的問題是它發送時沒有填充足夠的零。我認爲它只是根據需要發送爲< 11111>而不是< 00011111>。
任何幫助,將不勝感激 感謝 :)
發送0x1F將發送兩個半字節。是否有可能你的問題與永恆性有關?那就是說,如果你的機器需要一個16位的值,並且最重要的字節在前或者最小?你必須發送0x1F,0x42而不是0x42,0x1F – Tod