單片機編程中此句 什麼意思!!

單片機編程中此句 PWME |= (1<<0)什麼意思!!

 

這句話是指將PWME寄存器的最低位(第0bit)置成1,我猜這句話可能是使能PWM0通道。

(1<<x)是指將1左移x位,(1<<0)是將1左移0位即還是1,(1<<5)=0b100000=0x20

另外,單片機中寄存器中給某一bit置上或清零常用下述方式:

由於0|1=1 1|1=1,所以將單片機某一bit置成1只需將該位或1即可。即如果要將寄存器的第x位置成1,則需將該寄存器的第x位或上1,用程序表示出來(以PWME寄存器的第x位舉例)就是PWME = PWME | (1<<x),也可以寫成PWME |= (1<<x)

同樣的道理,如果要將某一bit清零,考慮 0&0=0 1&0=0,只需將某位與0即可。用程序表示(以PWME寄存器的第x位舉例)就是PWME = PWME & (1<<x),也可以寫成PWME &= (1<<x)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章