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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > msp430的定時(shí)器A 劃分幾個(gè)獨(dú)立時(shí)間間隔

          msp430的定時(shí)器A 劃分幾個(gè)獨(dú)立時(shí)間間隔

          作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
          TAIV:
          #define TAIV_TACCR1 (0x0002)
          #define TAIV_TACCR2 (0x0004)
          #define TAIV_TAIFG (0x000A)
          TIMERA1_VECTOR是一個(gè)中斷向量,主要處理CCR1,CCR2,以及定時(shí)器A溢出的中斷標(biāo)志,而CCR1,CCR2,以及定時(shí)器A產(chǎn)生中斷是的TAIV是不同的,分別是2,4,10
          switch( TAIV ) { case 2: break; case 4: break; case 10: P3OUT ^= BIT4; break; }
          這一句的意思是,判斷是哪個(gè)產(chǎn)生中斷的,以執(zhí)行不懂的程序,當(dāng)然,在里面沒(méi)寫(xiě)有,但是當(dāng)你自己去寫(xiě)的時(shí)候可自己加進(jìn)去。
          CCR0,CCR1,CCR2
          分別是比較/捕獲模塊1,2,3的比較/捕獲寄存器,一般CCR0用來(lái)控制周期。
          至于具體怎么應(yīng)用,這是很難解釋的,解釋了可能你還是不同。最好的辦法就是一邊寫(xiě)程序,一邊查書(shū)。
          6月2日 周四 晴 定時(shí)器A
          現(xiàn)在的認(rèn)識(shí):
          MSP430 5438 有3個(gè)時(shí)鐘,分別是 TA0、TA1 和TB
          了解了定時(shí)器A的用法:
          定時(shí)器A可以分成幾個(gè)獨(dú)立的時(shí)間周期。這幾個(gè)時(shí)鐘周期共用一個(gè)計(jì)數(shù)器TA1R 或TA0R。
          在頭文件中可以查到:
          #define TIMER1_A1_VECTOR (48 * 2u)
          #define TIMER1_A0_VECTOR (49 * 2u)
          #define TIMER0_A1_VECTOR (53 * 2u)
          #define TIMER0_A0_VECTOR (54 * 2u)
          TIMER0 含 TA0CCR0- TA0CCR4 五個(gè)
          TIMER1 含 TA1CCR0- TA1CCR2 三個(gè)
          TA0CCR0 對(duì)應(yīng)中斷向量 A0_VECTOR
          TA0CCR1-4 對(duì)應(yīng)中斷向量 A1_VECTOR
          //A0定時(shí)器,用于界面處理
          TA0CCTL0 = CCIE; // CCR0 interrupt enabled
          TA0CCTL1 = CCIE; // CCR1 interrupt enabled//時(shí)間周期1使能
          TA0CCTL2 = CCIE; // CCR2 interrupt enabled//時(shí)間周期2使能
          TA0CCTL3= CCIE; // CCR3 interrupt enabled//時(shí)間周期3使能
          //TA0CCTL4= CCIE; // CCR3 interrupt enabled//時(shí)間周期3使能
          TA0CCR0=256;//TA0R 計(jì)數(shù)到65535才清零。
          TA0CCR1=4096; //1s
          TA0CCR2=1024; //1/4
          TA0CCR3=8192; //2s
          TA0CTL = TASSEL_1+ID_3 + MC_2 + TACLR+ TAIE; // ACLK, 8分頻,MC_2:連續(xù)模式, clear TAR
          // Timer1 A0 interrupt service routine
          #pragma vector=TIMER0_A0_VECTOR
          __interrupt void Timer_A0 (void)
          {
          // TA0CCR0 += 64;// Add Offset to CCR0
          TA0CCR0 += 256;// 1/16s Add Offset to CCR0
          if(ReadUART0_new>0)
          ReadUART0_new--;
          if(ReadUART1_new>0)
          ReadUART1_new--;
          }
          // Timer_A3 Interrupt Vector (TAIV) handler
          #pragma vector=TIMER0_A1_VECTOR
          __interrupt void TIMER0_A1_ISR(void)
          {
          switch(__even_in_range(TA0IV,14))
          {
          case 0:
          break;
          case 2:
          TA0CCR1 +=4096; //1s Add Offset to CCR1
          SecondReach=1;
          CountToMunite++;
          SecondTimecount++;
          if(waringstatus>0)
          {
          //buzzer();
          // waringlight();
          }
          break; // CCR4 not used
          case 4:
          TA0CCR2+= 1024; // 1/2s Add Offset to CCR2
          // buzzer();
          // waringlight();
          break;
          case 6:
          spark++;
          TA0CCR3+=8192; // 2s Add Offset to CCR3
          // buzzer();
          // waringlight();
          break;
          case 8:
          break; // CCR3 not used
          case 10:
          break; // CCR5 not used
          case 12:
          break; // Reserved not used
          case 14: // overflow
          break;
          default:
          break;
          }
          }

          上一頁(yè) 1 2 下一頁(yè)

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