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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MSP430F149 TIMER_A(一)——16位定時計數(shù)

          MSP430F149 TIMER_A(一)——16位定時計數(shù)

          作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
          TIMER_A有四個可選時鐘源,為了方便一般選擇ACLK和SMCLK,經(jīng)過分頻器產(chǎn)生一個時基,其結(jié)構(gòu)圖如下:

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



          TIMER_A有三種定時/計數(shù)方式:

          (1).增計數(shù)模式:計數(shù)周期:TAR從0增加到TACCR0,



          (2).連續(xù)計數(shù)模式:計數(shù)周期:TAR從0增加到0xffff,



          (3).增減計數(shù)模式:計數(shù)周期:TAR從0增加到TACCR0然后再從TACCR0減到0



          由上圖可見TIMER_A的中斷標(biāo)志有兩個,分別是TAIFG和CCIFG。TACTL中的TAIE允許產(chǎn)生TAIFG中斷標(biāo)志,中斷入口是TIMERA_1 VECTOR即0FFEAh,此入口有三個中斷源,由TAIV的值決定。

          在IAR中,進入中斷服務(wù)的方式如下:

          #pragma vector=中斷向量的入口地址

          __interrupt void函數(shù)名(類型)

          比如:

          #pragma vector=0x14
          __interrupt void my_handler(void);
          TIMERA0_VECTOR是單中斷源的,因此不需要判斷
          #pragma vector=TIMERA0_VECTOR
          __interrupt void Timer_A0 (void)
          {
          P4OUT^=BIT0;
          }
          既然TIMERA1_VECTOR由三種中斷源,則需要判斷,例子如下
          #pragma vector=TIMERA1_VECTOR
          __interrupt void Timer_A1 (void)
          {
          switch(TAIV)
          {
          case 0x02:break;
          case 0x04:break;
          case 0x0a:P4OUT^=BIT0;break;
          }
          }


          關(guān)鍵詞: MSP430F149TIMER_A定時計

          評論


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