位元組指令的解析

2021-07-10 17:59:27 字數 1979 閱讀 1557

位元組指令的格式

位元組位元組1

位元組2位元組3

位元組4位元組5 含義

7f指令長度

指令碼資料位

校驗和各位元組定義如下:

位元組1:指令首位元組始終為 7fh

位元組2:指令長度

位元組3:指令碼

位元組4:校驗和

位元組5:校驗碼,為前面的第2—

3位元組的算術和的低

8位,即算術和對

256取模後的結果;

位元組5=

(位元組2+

位元組3+位元組4

)%256 位元組

位元組1位元組2位元組3

10位元組陣列

位元組7 含義

7f 01

指令碼時間資料

校驗和各位元組定義如下:

位元組1:指令首位元組始終為 7fh

位元組2:指令長度

位元組3:指令碼

10位元組陣列:日期資料

位元組7:校驗碼,為前面的第2—

3位元組的算術和的低

8位,即算術和對

256取模後的結果;

位元組5=

(位元組2+

位元組3+10

位元組陣列)

%256 位元組

位元組1位元組2位元組3

20位元組陣列

位元組7 含義

7f 01

指令碼重新命名資料

重設密碼

校驗和各位元組定義如下:

位元組1:指令首位元組始終為 7fh

位元組2:指令長度

位元組3:指令碼

20位元組陣列:

wifi

名字或密碼

位元組7:校驗碼,為前面的第2—

3位元組的算術和的低

8位,即算術和對

256取模後的結果;

位元組5=

(位元組2+

位元組3+20

位元組陣列)

%256 解析

void

cclientconnect::parsebytedata(uchar

*pbuf,

uint

ilen)

m_iremalen

=ilen-i;

if(m_iremalen

<

m_idatalen

||m_iremalen

==1)

uchar

*pdata=

null;

pdata=

newuchar[m_idatalen];

memcpy(pdata,&pbuf[i],m_idatalen);

if(checkcode(pdata,m_idatalen)) //檢驗校驗和

if(pdata)

i+=(m_idatalen-1);

m_iremalen

=0;

m_idatalen

=0;

continue;

}else    //拼接上次接收不完整的指令

m_pcmdcontrolbuf[m_iremalen]=pbuf[i];

m_iremalen++;

if(0x7f

==m_pcmdcontrolbuf[0]&&checkcode(m_pcmdcontrolbuf,m_idatalen))

}

if(m_iremalen

==m_idatalen)

}
}
}

解析 pragma指令

在所有的預處理指令中,pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。pragma指令對每個編譯器給出了乙個方法,在保持與c和c 語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同的...

解析 pragma指令

在所有的預處理指令中,pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。pragma指令對每個編譯器給出了乙個方法,在保持與c和c 語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器 或作業系統專有的,且對於每個編譯器都是不同...

解析 pragma指令

在 所有的預處理指令中,pragma 指令可能是最複雜的了,它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。pragma指令對每個編譯器給出了乙個方法,在保持與c和c 語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同...