欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4521|回復: 2
打印 上一主題 下一主題
收起左側

msp430g2553定時器的奇葩問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:66319 發表于 2014-9-17 21:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
剛剛開始學習msp430g2553,板子是launchpad,今天嘗試著寫了一個定時器的程序,程序的功能是利用Timer_A定時一秒使LED燈閃爍,程序如下#include <msp430g2553.h>
void main(void)
{
  WDTCTL=WDTPW+WDTHOLD;                   //關閉看門狗
  BCSCTL1|=DIVA_0;
  BCSCTL3|=LFXT1S_0;
  P1DIR|=BIT0;                           //設置P1.0為輸出管腳。
  P1OUT&=~BIT0;
  TACTL|=TASSEL_1+ID_0+MC_1;          //選擇ACLK為時鐘源,0分頻,計數器清零,增計數器模式。
  TACTL&=~TAIFG;                           //清中斷標志位
  TACCTL0|=CCIE;
  TACCR0=32768-1;  //定時器計數寄存器初值,定時時間為1秒,初值是32767而不是32768切記
  //TACTL|=TAIE;                          //運行TA溢出中斷
  _EINT();                               //允許總中斷
  while(1);

}
#pragma vector=TIMER0_A0_VECTOR
   __interrupt void TA_ISR(void)
   {
     P1OUT^=BIT0;

   }

這個程序工作是正常的,但是在調試過程中發現了幾個問題,問題一:如果不加 TACCTL0|=CCIE;只有TACTL|=TAIE;  則進不去中斷,難道定時器的溢出不能產生中斷嗎?問題二:如果TACCTL0|=CCIE;TACTL|=TAIE; 同時存在則LED燈很暗,不知道什么原因。希望各位多多指教,解答小弟心中的疑惑。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:66032 發表于 2014-9-18 17:02 | 只看該作者
試一下這句
TACTL|=TASSEL_1+ID_0+MC_1+TACLR ;    //clear TAR
你用的是比較捕獲CCIE 不是Overflow TAIE,因此可以將TAIE屏蔽//TACTL|=TAIE;   請看
The TACCR0 CCIFG interrupt flag is set when the timer counts to the TACCR0 value. The TAIFG
interrupt flag is set when the timer counts from TACCR0 to zero. Figure 12-3 shows the flag set cycle
回復

使用道具 舉報

板凳
ID:66319 發表于 2014-9-26 18:22 | 只看該作者
謝謝,已經懂一些了這個和中斷源有關系,
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表