本篇只描述Motorola格式的字節(jié)排序方式,Intel格式的不作介紹。
首先以下面的表格來表示字節(jié)順序和位順序,用紅色背景表示高位MSB,藍色背景表示地位LSB,綠色為LSB到MSB的過渡。

下面以起始位位34,長度位12的信號來做演示來區(qū)分Motorola Forward MSB和Motorola Forward LSB的區(qū)別。
Motorola Forward MSB(大端在前):
矩陣文檔中起始位置則為MSB的起始位34,往高字節(jié)借位。

填入0xB79,即101101111001,如下圖:

Motorola Forward LSB(小端在前):
矩陣文檔中起始位置則為LSB的起始位34,往低字節(jié)借位。

填入0xB79,即101101111001,如下圖:

注意的是Motorola格式主要在于跨字節(jié)的區(qū)別,如果計算錯了會導(dǎo)致發(fā)送的報文或解析的報文異常。其次要注意起始位是從第幾位開始計算,Motorola Forward MSB以高位MSB為起始位,Motorola Forward LSB則以低位LSB為起始位。
知識補充1:什么是內(nèi)存的高低地址?
如下圖所示,以8個字節(jié)長度為例,Byte0為低字節(jié),Byte7為高地址。

知識補充2:什么是高低字節(jié)?
比如說對于0xFF22來說,F(xiàn)F就叫做數(shù)據(jù)的高字節(jié)部分,22就是低字節(jié)部分。
知識補充3:什么是MSB和LSB?
MSB(most significant bit)即最高有效位,LSB(least significant bit)即最低有效位。字節(jié)計算就是從LSB到MSB的計算過程。