下面的代码我觉得没有错啊,可是就是没有方波产生?

2019-03-24 13:41发布

include  <msp430g2231.h>
unsigned int flag = 0;void main(){    WDTCTL = WDTPW +WDTHOLD;   //STOP WDT   // FLL_CTL0 |= XCAP14PF;   //匹配14PF的负载电容    P1SEL &= ~BIT5;          P1DIR |= BIT5;     TACTL = TASSEL1 + TACLR ;     TACCTL0 = CCIE;    TACCR0 = 1748;    TACTL |= MC0;    _EINT();    while (1) {    LPM0;    }}
# pragma vector = TIMERA0_VECTOR__interrupt void TimerA0_ISR(void){    P1OUT ^= BIT5;    flag++;}
我用flag作为标志,发现并没有进入中断,为什么啊?哪里错了? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
wangfuchong
1楼-- · 2019-03-26 08:25
我还没仔细看,关于MC0和MC_0是不一样的
MC0  ----〉01
MC1  ----〉10

MC_0 —>00
MC_1 —>01
MC_2 —>10
MC_3 —>11
wangfuchong
2楼-- · 2019-03-26 12:37
 精彩回答 2  元偷偷看……
wangfuchong
3楼-- · 2019-03-26 15:47
project  option不会没有设置过吧?
juring
4楼-- · 2019-03-26 21:26
不好意思 我原来用的是2553

2231我试过了,程序没问题啊

#include  “msp430g2231.h”

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P1SEL &amp;= ~BIT5;
  P1DIR |= BIT5;                            // P1.5 output
  TACTL = TASSEL1 + TACLR;                  // SMCLK, contmode
  TACCTL0 = CCIE;                             // CCR0 interrupt enabled
  TACCR0 = 1748;
  TACTL |= MC0;

  _EINT();
  while (1)
  {
          LPM0;
  }                // Enter LPM0 w/ interrupt
}

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
  P1OUT ^= BIT5;                            // Toggle P1.0
}

可以进中断</msp430g2231.h>

[ 本帖最后由 juring 于 2012-7-10 19:22 编辑 ]
wangfuchong
5楼-- · 2019-03-27 00:37
 精彩回答 2  元偷偷看……
hansonhe
6楼-- · 2019-03-27 04:22
G2553和G2231的资源是不一样的,G2553功能更多一些,楼主可以参考2012年MSP430的最新选型指南

一周热门 更多>

相关问题

    相关文章