找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1722|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

MSP430FR6989定時(shí)器無法跳中斷的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
TA0R寄存器正常計(jì)數(shù),TAIFG標(biāo)志位也從0至1,但是中斷跳不進(jìn)去
  1. #include "Includes.h"
  2. #define U8 unsigned char
  3. #define U16 unsigned int
  4. void RoughDelay(U16 i){
  5.   while(i--);
  6. }
  7. void main( void )
  8. {
  9.   // Stop watchdog timer to prevent time out reset
  10.   WDTCTL = WDTPW + WDTHOLD;
  11.   //0000 0001b = 0x01
  12.   //0000 0000b = 0x00
  13.   //1111 1110b = 0xfe
  14.   PM5CTL0 &= ~LOCKLPM5;
  15.   led_init();
  16.   Timer_A_init();
  17.   LED1_ON;
  18.   LED2_OFF;
  19.   while(1){
  20.     RoughDelay(60000);
  21.     LED1_TURN;
  22.   }
  23. }
  24. #pragma vector = TIMER0_A0_VECTOR
  25. __interrupt void ISR_TimerA_CCR0 (void){
  26.   TA0CTL_bit.TAIFG   = 0;
  27.   TA0CCTL0_bit.CCIFG = 0;
  28.   LED2_TURN;
  29. }
復(fù)制代碼
  1. void Timer_A_init(void){
  2.   TA0CCR0            = 0x8000;
  3.   TA0R               = 0;
  4.   TA0CTL_bit.TASSEL1 = 0;
  5.   TA0CTL_bit.TASSEL0 = 1;
  6.   TA0CTL_bit.ID1     = 0;
  7.   TA0CTL_bit.ID0     = 0;
  8.   TA0CTL_bit.MC1     = 0;
  9.   TA0CTL_bit.MC0     = 1;
  10.   TA0CTL_bit.TAIE    = 1;
  11.   TA0CTL_bit.TAIFG   = 0;
  12.   TA0CCTL0_bit.CCIFG = 0;
  13.   TA0CCTL0_bit.CCIE  = 0;
  14. }
復(fù)制代碼
圖片是是調(diào)試時(shí)一個(gè)片段的寄存器數(shù)據(jù)。救救孩子吧,弄了一早上沒找出原因。

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

使用道具 舉報(bào)

沙發(fā)
ID:804115 發(fā)表于 2020-7-29 14:36 | 只看該作者
全局中斷要打開:
__enable_interrupt();   //Enable all interrupt  
或者
_EINT(); //開中斷
回復(fù)

使用道具 舉報(bào)

板凳
ID:497627 發(fā)表于 2020-8-4 21:07 | 只看該作者
1692483014 發(fā)表于 2020-7-29 14:36
全局中斷要打開:
__enable_interrupt();   //Enable all interrupt  
或者

解決了,開全中斷我包含的頭文件不夠,所以有的宏用不了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表