This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430AFE253使用LaunchPad仿真时SMCLK不工作!

Other Parts Discussed in Thread: MSP430AFE253

使用的是IAR 5.30 ,程序下载后可以运行,SMCLK不工作,去掉仿真器重新上电正常运行!

  • 是MSP430AFE253 内部存在Bug吗!

  • 使用TI历程测试现象一样!

    #include <msp430afe253.h>

    unsigned volatile int count = 0;
    void main(void)
    {
    WDTCTL = WDTPW + WDTHOLD; // Stop WDT
    P2DIR |= BIT0; // P1.0 output
    CCTL0 = CCIE; // CCR0 interrupt enabled
    CCR0 = 50000;
    TACTL = TASSEL_2 + MC_2; // SMCLK, contmode

    _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
    }

    // Timer A0 interrupt service routine
    #pragma vector=TIMERA0_VECTOR
    __interrupt void Timer_A (void)
    {
    P2OUT ^= BIT0; // Toggle P1.0
    CCR0 += 50000; // Add Offset to CCR0
    }

  • 楼主,

        你好,这里想先了解一下,在debug状态下程序是否可以正常运行?退出debug之后再连接仿真器的情况下重新上电,板子是否可以正常运行?

  • 这里想先了解一下,在debug状态下程序是否可以正常运行?

       debug状态程序可以运行,但是SMCLK不工作。

    退出debug之后再连接仿真器的情况下重新上电,板子是否可以正常运行?

    可以正常工作,SMCLK也正常工作。


  • 你好,

        请问你看到的出错的现象是什么?你是怎么判断SMCLK有没有工作的?

  • 你可以简单的设置一下,让P1.0管脚工作在输出SMCLK的频率,这样方便看看smclk有没有相应的频率输出。

    谢谢

  • 我测试SMCLK是否工作是通过:

    1,Timer_A 控制LED指示灯,在Debug状态下看是否中断。LED是否闪烁,测试程序如下;

    #include <msp430afe253.h>

    unsigned volatile int count = 0;
    void main(void)
    {
    WDTCTL = WDTPW + WDTHOLD; // Stop WDT
    P2DIR |= BIT0; // P1.0 output
    CCTL0 = CCIE; // CCR0 interrupt enabled
    CCR0 = 50000;
    TACTL = TASSEL_2 + MC_2; // SMCLK, contmode

    _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
    }

    // Timer A0 interrupt service routine
    #pragma vector=TIMERA0_VECTOR
    __interrupt void Timer_A (void)
    {
    P2OUT ^= BIT0; // Toggle P1.0
    CCR0 += 50000; // Add Offset to CCR0
    }

    2,使用P1.0输出SMCLK,在Debug状态下没有输出,重新上电可以正常输出,通过示波器观察。

    3,使用SD24_A测试不进如中断,

    #pragma vector = SD24_VECTOR
    __interrupt void SD24AISR(void)
    {

    switch (SD24IV)
    {
    case 2: // SD24MEM Overflow
    break;
    case 4: // SD24MEM0 IFG
    break;
    case 6: // SD24MEM1 IFG
    break;
    case 8: // SD24MEM2 IFG
    Ch0results[Chcount] = SD24MEM0; // Save CH0 results (clears IFG)

    break;
    }

    }

  • 你好,

    请问你是如何判断SMCLK有没有工作的?

    你可以测试用SMCLK作为定时器时钟,在定时器内翻转电平来判断SMCLK是否工作。

    另外你可以输出SMCLK来判断。

    AFE253作为计量是通用的IC,已经MP。

  • 1,SMCLK没有工作是通过Timer_A和SMCLK输出测试的,示波器都没有信号;

    2,不接仿真器的时候就工作正常

  • 郁闷了!

    只能使用launchPad直接下载了,不能仿真!

    软件  Lite FET-Pro430 Elprotronic!

  • 你好,

    如果去掉LMP进入低功耗模式,SMCLK在调试状态是可以工作的吗?

    能不能帮我简单的测试一下?

  • 测试的例程如下,P2.0接有一个LED发光二极管,测试结果LED发光二极管没有闪烁。

    #include <msp430afe253.h>

    unsigned volatile int count = 0;
    void main(void)
    {
    WDTCTL = WDTPW + WDTHOLD; // Stop WDT
    P2DIR |= BIT0; // P1.0 output
    CCTL0 = CCIE; // CCR0 interrupt enabled
    CCR0 = 50000;
    TACTL = TASSEL_2 + MC_2; // SMCLK, contmode

      _EINT();

    // _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
    while(1);
    }

    // Timer A0 interrupt service routine
    #pragma vector=TIMERA0_VECTOR
    __interrupt void Timer_A (void)
    {
    P2OUT ^= BIT0; // Toggle P1.0
    CCR0 += 50000; // Add Offset to CCR0
    }

  • 大家有没有遇到过这种情况的啊,不会只有我遇到了吧!郁闷啊!

  • 测试时使用内部时钟,外部时钟都试过就是不工作啊!