<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機中的位域操作

          單片機中的位域操作

          作者: 時間:2016-11-26 來源:網絡 收藏
          在一個工程項目中,有時候我們經常會用到許多狀態(tài)標志位。很多時候我們會去程序中定義這些變量,而這些變量往往占用了一個字節(jié)(byte),然而我們需要的僅僅是一個狀態(tài)位(bit)。這樣去定義變量不僅浪費了存儲空間,而且不利于變量管理。下面,介紹一種使用位域的方法定義狀態(tài)標志的方法:

          //定義聯(lián)合體,同時命名別名為function

          本文引用地址:http://www.ex-cimer.com/article/201611/321954.htm

          typedef union
          {
          u8 flagByte;
          struct
          {
          u8 b0:1;
          u8 b1:1;
          u8 b2:1;
          }bits;

          }function;
          function myflag;//定義聯(lián)合體變量myflag

          //變量操作

          union _SYS_STATUS_
          {
          struct
          {
          unsignedm0: 1;

          unsignedm1: 1;

          unsignedm2: 1;

          unsignedm3: 1;

          unsignedm4: 1;

          unsignedm5: 1;

          unsignedm6: 1;

          unsignedm7: 1;

          unsignedi0: 1;

          unsignedi1: 1;

          unsignedi2: 1;

          unsignedi3: 1;

          unsignedi4: 1;

          unsignedi5: 1;
          unsignedi6: 1;

          unsignedi7: 1;


          };
          struct
          {
          unsigned intsysStuAll;
          };
          }
          externunion _SYS_STATUS_ sSysStatus;

          void tempp()
          {
          myflag.flagByte=0;
          myflag.flagByte=0xff;
          myflag.bits.b0=0;
          myflag.bits.b1=0;
          }



          關鍵詞: 單片機位域操

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();