久久人妻精品人妻视频五月天一区二区三区,,自慰午夜喷水久久久av国产成人a视频高在线,,欧美日韩免费专区在线97精品国产手机

  • <cite id="cwywg"></cite>
    <button id="cwywg"></button>
  • <button id="cwywg"><source id="cwywg"></source></button>
    <button id="cwywg"><tbody id="cwywg"></tbody></button>
  • <button id="cwywg"></button>
  • 
    
  • logo logo
    • BANNER
    • BANNER
    • BANNER
    您的位置 : 首頁(yè) > 新聞資訊 > 技術(shù)支持
    AVR c語(yǔ)言的位操作
    發(fā)布者:江蘇瑞易通電子科技有限公司 人氣:628 發(fā)布日期:2021-04-23 10:10:40

    位操作
    一個(gè)共同的任務(wù)是編程微控制器 MCU打開或關(guān)閉IO 寄存器的一些位bit 很幸運(yùn)標(biāo)準(zhǔn)C 有較好的和適用的位操作功能而沒(méi)有借助于匯編指令或其它非標(biāo)準(zhǔn)C 結(jié)構(gòu)C 定義了一些按位進(jìn)行的運(yùn)算是很有用的
    a | b – 按位或 這個(gè)表達(dá)式指示中a 被表達(dá)式中的b 按位進(jìn)行或運(yùn)算這慣用于打開某些位尤其常用|=的形式

    例如PORTA |= 0x80; // 打開位7 (最高位)
    a & b – 按位與 這個(gè)運(yùn)算在檢查某些位是否置1 時(shí)有用例如
    If ((PORTA & 0x81) == 0) // 檢查位7 和位0
    注意圓括號(hào)需要括在&運(yùn)算符的周圍因?yàn)樗? = 相比運(yùn)算優(yōu)先級(jí)較低這是C 程序中很多錯(cuò)誤的原因之一
    a ^ b – 按位異或 這個(gè)運(yùn)算對(duì)一個(gè)位取反有用例如在下面的例子中位7 是被翻轉(zhuǎn)的
    PORTA ^= 0x80; // 翻轉(zhuǎn)位7
    ~a – 按位取反. 在表達(dá)式中這個(gè)運(yùn)算執(zhí)行一個(gè)取反當(dāng)用按位與運(yùn)算關(guān)閉某些位時(shí)與這個(gè)運(yùn)算組合使用尤其有用如
    PORTA &= ~0x80; // 關(guān)閉位7
    這個(gè)編譯器對(duì)這些運(yùn)算能產(chǎn)生最理想的機(jī)器指令例如sbic 指令可以用在根據(jù)位的狀態(tài)進(jìn)行條件分枝的按位與運(yùn)算中

     

    在c語(yǔ)言里對(duì)位的操作如一般如下:
    PORTB|=(1<<2);//置PORTB的第2位=1
    PORTB&=~(1<<2);//置PORTB的第2位=0
    PORTB^|=(1<<2);//取反PORTB的第2位
    While(PORTB&(1<<2));//判斷1
    While(!(PORTB&(1<<2)));//判斷為0


    返回新聞列表