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

          新聞中心

          STM32別名區(qū)的理解

          作者: 時(shí)間:2013-02-22 來源:網(wǎng)絡(luò) 收藏

          例如點(diǎn)亮LED

          // 使用

          GPIO_ResetBits(GPIOC, GPIO_Pin_4); //關(guān)LED5

          GPIO_SetBits(GPIOC, GPIO_Pin_7); //開LED2

          // 一般讀操作

          _Gpioc_Regs->bsrr.bit.BR4 =1;// 1:清除對(duì)應(yīng)的ODRy位為0

          _Gpioc_Regs->bsrr.bit.BS7 =1;// 1:設(shè)置對(duì)應(yīng)的ODRy位為1

          //如果使用 位帶操作

          STM32_BB_Gpioc_Regs->BSRR.BR[4] =1;// 1:清除對(duì)應(yīng)的ODRy位為0

          STM32_BB_Gpioc_Regs->BSRR.BS[7] =1;// 1:設(shè)置對(duì)應(yīng)的ODRy位為1

          代碼比STM32庫 高效 十倍 !

          對(duì)內(nèi)存變量的位操作。

          1. // SRAM 變量

          2.

          3. long CRCValue;

          4.

          5. // 把“位帶地址+位序號(hào)”轉(zhuǎn)換別名地址宏

          6. #define BITBAND(addr, bitnum) ((addr 0xF0000000)+0x2000000+((addr 0xFFFFF)5)+(bitnum2))

          7. //把該地址轉(zhuǎn)換成一個(gè)指針

          8. #define MEM_ADDR(addr) *((volatile unsigned long *)(addr))

          9.

          10. // 對(duì)32位變量 的BIT1 置 1 :

          11.

          12. MEM_ADDR(BITBAND( (u32)CRCValue,1)) = 0x1;

          13.

          14. //對(duì)任意一位( 第23位 ) 判斷:

          15.

          16. if(MEM_ADDR(BITBAND( (u32)CRCValue,23))==1)

          17. {

          18.

          19. }

          1.jpg


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(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); })();