單片機(jī)與嵌入式系統(tǒng)中C語言的位運(yùn)算小記
掃描二維碼
隨時(shí)隨地手機(jī)看文章
編了個(gè)PIC的項(xiàng)目,對C語言里的位運(yùn)算還是蠻有感悟的,特此記錄一下。
譬如說,在程序中定義了一個(gè)char類型的變量,
purge_short_enable_flag,
//bit<0>-- start short circuit circle timing
//bit<1>--short circuit enable
//bit<2>--purge H2 enable
所以在復(fù)制的時(shí)候,一定要記得不要影響其他為,之前我在使能purge的時(shí)候,直接復(fù)制了,就像purge_short_enable_flag = 0x02,結(jié)果,pic跑起來就出問題了,因?yàn)檫@樣就影響到了short的使能的,所以還是要purge_short_enable_flag |= 0x02,這樣就沒問題了。
用一個(gè)變量來控制好幾個(gè)因素,有好處也有壞處,優(yōu)點(diǎn)是節(jié)省了變量的使用,然而不仔細(xì)的話,很容易出錯(cuò),code的時(shí)候要仔細(xì)點(diǎn),不要編寫代碼,邊聽音樂。不過這在編了久了,心里自然有底,不過還是要是是提防,因?yàn)樯賯€(gè)或的“|”符號,很難看出來的。