#define wd_end (5u+1u) // 5ms
#define rm_oftm 60u // 20ms
#define rm_oftm_r 100u // 100ms
/*以下的時序值都經過特殊處理*/
#define rc_header0 (13300000ul/rc_clk)
#define rc_header1 (13700000ul/rc_clk)
#define rc_repeat0 (11050000ul/rc_clk)
#define rc_repeat1 (11450000ul/rc_clk)
#define rc_code1 (2250000ul/rc_clk)
#define rc_code1_gosa ( 200000ul/rc_clk)
#define rc_code0 (1125000ul/rc_clk)
#define rc_code0_gosa ( 100000ul/rc_clk)
#define rc_code_0_1 (2000000ul/rc_clk) //2 ms
對以上定義補充說明:程式中rc_clk是 1185ul,這是因為分頻運算後1/27m×32=1.185(週期乘以mcu位數,注意單位跟m對應的是us)。這是表示乙個clk是對應1.185微秒,由於遙控計時器是對rclk進行計數,所以要有乙個轉換,m×rclk(對應的時間)=13.3ms,即m=13.3m/rclk=13.3×1000us/1.185us得對應的參考值。
/*定**碼所需的標誌*/
static u32 inputdata; //轉儲資料
static u8 rcv_header = wrong; //解出頭碼標誌
static u8 rcv_repeat = wrong; //解出重發標誌
static u8 bitcount; //位計數器
static u8 rcofftimer; //遙控發碼的剩餘時間
u8 onecodetime;
void remocon_initial (void)
#pragma interrupt remocon_edge //邊沿中斷觸發函式,由電平跳變即執行
void remocon_edge (void)
else if( (rc_repeat0 <= pls_cnt) && (pls_cnt <= rc_repeat1) )
else if( rcv_header == true ) //頭碼判斷出來之後
bitcount++; //位計數器加1
rcofftimer = rm_oftm; // rcofftimer的作用很奇特,其實在每解出一//個位後,該值被重置。當解出最後乙個bit後,該值才不再改變,被後//面的 //1ms處理函式處理消耗完剩下的時間,再集中判斷處理。該值不一//定很準,因為跟之前的01數目有關係,所以只能提供大概值。}}
onecodetime = wd_end; //一次解碼過程完成,做個標記值,供後面消耗時間再//判斷 }}
void remocon_1ms (void) //該函式處在乙個1ms的控制台中,迴圈執行。其中的兩個子///過程乙個用來處理單發,乙個處理重發。}}
bitcount = 0; //不管有沒有正確解出資料,在一次完整的發出資料後,要//清空bitcount和rcv_header,表示當前該次解碼結束,如果<32,無效忽略,//是一種容錯機制
rcv_header = wrong;
}if( rcofftimer != 0 ) //用於消耗掉剩餘時間
else //如果時間耗完後,rcv_repeat仍然0,說明沒有連按,清rcdata}}
}//此處有誤
需要注意的是,nec的大體過程是上面,但在時延上(不一定是那些時間表示01),資料位個數上(不一定是32位)。需要作些特殊處理。if•••else•••和if •••else if•••的差別,一般情況下兩者是可以通用的,但後者有個缺點是沒有出口,一旦出現兩個都不符合的值出現,將沒有任何子程式段處理,在編譯時會警告某些後面用到的引數在子程式段中沒有初始化。
python的乙個編譯碼錯誤
python的乙個編譯碼錯誤 發表於2012 10 24由latlontude 1 出錯的 a u test b 這些一看就 c s s a,b traceback most recent call last file line 1,in unicodedecodeerror ascii codec...
在乙個程式中啟動另外乙個程式
最近剛剛開始工作,發現在學校學習的那些基本上知識打打基礎而已,在實際的專案運作中根本就沒用。革命尚未成功,通知仍需努力啊 嘿嘿 上正題 因為我們需要做乙個類似於監控的系統,這樣的話就涉及到多個程式需要同時執行,並且需要有乙個程式 去控制另外乙個程式,之前沒有做過,也沒見過,不過還好,有一同事之前做過...
乙個托盤程式
unit mainunit inte ce uses windows,messages,sysutils,classes,graphics,controls,forms,dialogs,menus,shellapi,extctrls const icon id 1 mi iconevent wm u...