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

      ?AVR c語言的位操作

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

      位操作
      一個共同的任務是編程微控制器 MCU打開或關閉IO 寄存器的一些位bit 很幸運標準C 有較好的和適用的位操作功能而沒有借助于匯編指令或其它非標準C 結構C 定義了一些按位進行的運算是很有用的
      a | b – 按位或 這個表達式指示中a 被表達式中的b 按位進行或運算這慣用于打開某些位尤其常用|=的形式

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

       

      在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


      上海意泓電子科技有限責任公司 版權所有 未經授權禁止復制或鏡像

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

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

          精品h无码动漫在线观看| 伊人色综合网站精品无码| 亚洲国产一级毛片无码久久| 亚洲精品免费视频观看视频| 亚洲の无码国产の无码喷水| 亚洲中文无码黄片精品视频| 日本人与黑人做爰视频网站| 中文牲交a欧美牲交aⅴ免费真| 久久精品无码一区二区www| 亚洲五月天激情在线视频| 国产成人综合激情视频在线观看| 狠狠色综合久久婷婷| 亚洲中文字幕夜夜精品| 手机免费看国产欧美精品| 免费在线精品专区| 久久久久高潮无码精品| 日韩一区二区三区免费AⅤ| 亚洲人人爽人人爽人人片| 人妻无码一区二区三区在线| 国产午夜无码精品免费看秒播| 国产日韩专区无码| 91精品国产国语在线不卡| 精品一区二区无码在线观看视频| 国产 中文字幕 在线| 日韩精品东京热无码视频播放| 亚洲涩图日韩无码一| 久久综合九色综合本道| 亚洲欧洲中文日韩av尤物无码| 亚洲精品无码永久免费|