您好,歡迎訪問上海意泓電子科技有限責(zé)任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機(jī)

      ?AVR c語言的位操作

      文章出處:單片機(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時(shí)間:
      2020
      11-10

      位操作
      一個(gè)共同的任務(wù)是編程微控制器 MCU打開或關(guān)閉IO 寄存器的一些位bit 很幸運(yùn)標(biāo)準(zhǔn)C 有較好的和適用的位操作功能而沒有借助于匯編指令或其它非標(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
      注意圓括號需要括在&運(yùn)算符的周圍因?yàn)樗? = 相比運(yùn)算優(yōu)先級較低這是C 程序中很多錯(cuò)誤的原因之一
      a ^ b – 按位異或 這個(gè)運(yùn)算對一個(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è)編譯器對這些運(yùn)算能產(chǎn)生最理想的機(jī)器指令例如sbic 指令可以用在根據(jù)位的狀態(tài)進(jìn)行條件分枝的按位與運(yùn)算中

       

      在c語言里對位的操作如一般如下:
      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


      上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.topsschool.com All rights reserved   滬ICP備2021005866號

      亚洲精品无码va人在线观看,少妇 逼小 水多,国产区免费av,国产精品无码观看

          国产人伦精品一区二区三区| 亚洲高清在线精品尤物一区| 无码 制服 丝袜 国产 另类| 亚洲欧美综合人成在线| 中文字幕乱码观看黄片| 国产精品泄火熟女| 婷婷婷国产在线视频| 国产精品不卡尤物视频| 一本一道久久a久久精品综合色欲| 日本国产欧美大码A视频| 欧美日韩国产一级视频| 精品中文字幕一级久久免费| 国产极品精品免费视频久久| 日本综合一区二区人妻| 免费视频97人妻| 亚洲国产品综合人成综合网站| 中文有码无码人妻视频| 婷婷五月中文字幕在线精品| 国产偷窥熟女精品视频大全| 欧美日韩国语动漫一区二区| 一本无码aⅴ久久久国产| 久久午夜无码免费| 欧美亚洲精品中文字幕乱码免费高清| 一本大道久久a久久精品综合| 精品久久久久无码人妻中出| 免费无码无遮无挡视频| 亚洲乱码黄片大全精品视频| 国产亚洲欧洲乱码在线| 岛国片在线观看|