msp430f5438这什么中断安排啊!

2019-03-24 15:55发布

// Timer1 A0 interrupt service routine
#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer_A0 (void)
{
  TA1CCR0 += 4;                             // Add Offset to CCR0
}
// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMER1_A1_VECTOR
__interrupt void TIMER1_A1_ISR(void)
{
  switch(__even_in_range(TA1IV,14))
  {
    case 0: break;                  
    case 2:  TA1CCR1 += 16;                 // Add Offset to CCR1
             break;
    case 4:  TA1CCR2 += 100;                // Add Offset to CCR2
             break;
    case 6:  break;                         // CCR3 not used
    case 8:  break;                         // CCR4 not used
    case 10: break;                         // CCR5 not used
    case 12: break;                         // Reserved not used
    case 14: P4OUT ^= 0x10;                 // overflow
             break;
    default: break;
}
}
求高手解释,它干嘛把CCR0的单独分出去啊,这什么逻辑的?刚学5438不是特别懂 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
gongshuipeng
1楼-- · 2019-03-24 19:16
因为#pragma vector=TIMER1_A0_VECTOR单独使用一个中断向量入口,优先级比其他几个高,而其他几个共用一个入口。多看看书。

[ 本帖最后由 gongshuipeng 于 2011-7-20 14:13 编辑 ]
水货老手
2楼-- · 2019-03-25 00:23
< :TI_MSP430_内容页_SA7 --> 恩恩
whgwuhan
3楼-- · 2019-03-25 02:12
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章