熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
李冬 發(fā)表于 2022-11-22 09:46 你去KFC消費(fèi),KTV失竊與你何干? |
Longan.Wang 發(fā)表于 2022-11-22 08:54 如果除BIT3外其他位為1。會(huì)不會(huì)造成判斷錯(cuò)誤 |
1261867136qq 發(fā)表于 2022-11-22 08:31 回答的很好 |
名字不是重點(diǎn) 發(fā)表于 2022-11-21 18:59 回答的很好 |
|
前一句是判斷狀態(tài)寄存器的bit3是否為‘1’; 后一句把狀態(tài)寄存器的bit4和bit3清‘0’,之后再把狀態(tài)寄存器的內(nèi)容寫到0x8000這個(gè)地址。 |
|
簡單的來說: &" “與”運(yùn)算,有0 出0 ,全1才是1,這么看,應(yīng)該是判斷 某位是否為1 然后,&" “與”運(yùn)算 加上 取反, 就記住: 是1的那個(gè)位,置0 , |
|
本帖最后由 名字不是重點(diǎn) 于 2022-11-21 19:12 編輯 比如: statusregister &(0x0008)=> 0x0008=B_0000_0000_0000_1000 : "&" 即“與”運(yùn)算,在這邊就是判斷statusregister這個(gè)變量的第3位是為“0”或?yàn)椤?”, statusregister &(~0x0018)=> "~" 即數(shù)值取反的意思,即 B_ 0000_0000_0001_1000 取反,相當(dāng)于0xFFFF - 0x0018 = 0xFFE7 ; "&" 即“與”運(yùn)算,在這邊就是把statusregister這個(gè)變量的第3/4位置“0”,其它位不變。 如果還沒看明白,可真得要拿起C的基本知識(shí)重溫一下了。 |
本帖最后由 xuyaqi 于 2022-11-22 07:37 編輯 李冬 發(fā)表于 2022-11-21 17:03 上面一個(gè) , 0x0008 -》..000001000B,判斷sta.. 倒數(shù)第4位是0還是1 下面一個(gè),(0x0008按位取反后) -》..111110111B,判斷sta.. 倒數(shù)第4位是0還是1 |
xuyaqi 發(fā)表于 2022-11-21 16:38 不夠詳細(xì) |
|
本帖最后由 xuyaqi 于 2022-11-22 07:39 編輯 上面一個(gè) , sta.. 與 0x0008 位與 的運(yùn)算結(jié)果作為判斷依據(jù); 下面一個(gè),sta.. 與(0x0018按位取反后)位與 的運(yùn)算結(jié)果作為判斷依據(jù) |
Powered by 單片機(jī)教程網(wǎng)