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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC結(jié)構(gòu)體及定義位元結(jié)構(gòu)

          PIC結(jié)構(gòu)體及定義位元結(jié)構(gòu)

          作者: 時(shí)間:2011-10-18 來源:網(wǎng)絡(luò) 收藏

          及定義
          extern volatile near unsigned char PORTB; // PORTB是一個(gè)字節(jié)(unsigned char)。由于變量是在寄存器中定義的,因此需要extern 修飾符。 volatile 修飾符告知編譯器不能假定PORTB能保留賦給它的值。 near 修飾符指定了端口位于存取RAM 中。
          extern volatile near union { // 定義PORTBbits為一的聯(lián)合體(union)變量。指定 PORTBbits 是可位尋址的匿名結(jié)構(gòu)的聯(lián)合。特殊功能寄存器中的每一位可能有不只一種功能,因此聯(lián)合中對(duì)于同一個(gè)寄存器有多個(gè)結(jié)構(gòu)定義。struct { // 地址在Access RAM
          unsigned RB0:1; // 定義PORTB的標(biāo)準(zhǔn)功能
          unsigned RB1:1;
          unsigned RB2:1;
          unsigned RB3:1;
          unsigned RB4:1;
          unsigned RB5:1;
          unsigned RB6:1;
          unsigned RB7:1;
          } ;
          struct {
          unsigned INT0:1; // 定義PORTB的另外功能
          unsigned INT1:1;
          unsigned INT2:1;
          unsigned CCP2:1;
          } ;
          } PORTBbits ; //這里定義了一個(gè)結(jié)構(gòu)聯(lián)合體變量 PORTBbits

          //然后就可以用了。
          PORTB=0x35; // PORTB 與 PORTBbits 地址一樣。
          //等同于 PORTBbits = 0x35;
          PORTBbits.RB7=1; // RB7 輸出高電平



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();