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

下面以起始位位34,長度位12的信號(hào)來做演示來區(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ū)別,如果計(jì)算錯(cuò)了會(huì)導(dǎo)致發(fā)送的報(bào)文或解析的報(bào)文異常。其次要注意起始位是從第幾位開始計(jì)算,Motorola Forward MSB以高位MSB為起始位,Motorola Forward LSB則以低位LSB為起始位。
知識(shí)補(bǔ)充1:什么是內(nèi)存的高低地址?
如下圖所示,以8個(gè)字節(jié)長度為例,Byte0為低字節(jié),Byte7為高地址。

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