C語言 傳送編碼與解碼函式

2021-08-06 01:31:26 字數 888 閱讀 8516

小知識:資料在計算機中都是以二進位制儲存:

1<1>>i:表示1右移i位;

i<<1:表示i左移1位;            i>>

1:表示i右移1位;

以下編碼解碼函式可以在微控制器上實現:

傳送編碼函式:

一幀資料:前導碼加8位資料碼

前導碼乙個碼字:高電平250us,低電平250us

資料碼乙個碼字:1  高電平80us,低電平40us

0  高電平40us,低電平40us

編碼函式:實現乙個前導碼字和8位資料碼字

void sendpulse(unsigned int dat)//

if(bite == 1)

}wait_us(500000);

}

解碼函式:

查詢法解碼函式:

思路:1.利用微控制器的io口判斷電平

2.首先判斷前導碼,檢測高電平,定時器清0,開啟定時器計數

3.判斷資料碼,檢測高電平,定時器清0,開啟定時器計數,計數值存陣列,迴圈8次

void demod_recv(void)

} //身份識別碼

while(pb1==1&&flag==1)

{ tr2=1;

tmr2 = (int)t2_reload_clocks;

while(pb1==1);

tr2=0;

id[i]=(tmr2h*256+tmr2l)>1400?1:0; //高電平對應的計數個數,直接進行解碼轉換

bite = id[i] == 1? 1:0; //實現進製轉換:16進製制

decode_id |= (bite<

http傳送資料的解碼與編碼

1.一般情況下,url中目錄中的中文按照utf 8進行編碼,中 的utf 8編碼為 e4 b8 ad 2.get方法的引數按照計算機的系統語言進行編碼,中文按照gbk,中 的gbk編碼為 d6 d0 日文環境按照 shift jis 中 的編碼為 92 86 3.post方式的引數,會放到http正...

JS與C 編碼解碼

escape不編碼字元有69個 0 9,a z,a z encodeuri不編碼字元有82個 0 9,a z,a z encodeuricomponent不編碼字元有71個 0 9,a z,a z 1.js escape js使用資料時可以使用escape 例如 蒐藏中history紀錄。0 255...

is 編碼與解碼

is 和 主要是數字和字串的比較 1 區別 比較的是兩邊的值 is比較的是兩邊值的id id獲取的方法 id 2 小資料池 5 256 3 字串中特殊字元有id不同 4 字串中單個字元 20以內,記憶體位址是一樣的 21以上記憶體位址不一致 編碼與解碼 1 encode a 把明文編譯成a格式 de...