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.

MSP430G2313: 看门狗复位 不能让比较器 工作

Part Number: MSP430G2313

 MSP430G2313  收到干扰后 看门狗复位后 比较器没有复位成功,定时器复位成功能正常工作。必须硬件复位 比较器才能工作。 如何解决这个问题?

  • 您好,比较器没有复位成功的具体表现是什么,方便描述下吗?这个问题出现的概率是多大?

    受到的是什么干扰?

    另外图片好像上传失败了,如果重要的话麻烦请重新上传一下:

  • 正常比较器时 是输出方波的,如果比较器 输出不变化1s 后看门狗复位。  示波器看到看门狗一直在复位。   这手动将复位脚 对地短接一下,复位ok ,比较器正常工作。    干扰源是 有另外一块线路板打开电机造成的。   概率不大 ,有时候几十次来一次,有时候几百次来一次。    这次用430的方案惨了 ,都快交货了 发现这个问题。  能不能 把我的问题 发到 英文网站 问一下? 很急!!!。 第一次遇到看门狗不能全复位的情况。

  • 看门狗引起的复位是PUC,不是POR,而比较器的寄存器只会在POR时reset。[Ref F2 User Guide (SLAU144J) Table 21-1]

    您可以尝试检查比较器初始化以查看它是否依赖于寄存器的复位值。(通常建议使用“=”而不是“|=”来设置它们。)

  • 我在定时器中断中 打开 比较器 

    TA1CCTL0 &= ~CCIE ;
    if( ch == 0 )
    {

    EnableRxB;

    CACTL2 = P2CA4 + P2CA0 + P2CA3 + P2CA1 + CAF; //P1.2P1.5
    }
    else
    {

    EnableRxA;

    CACTL2 = P2CA4 + P2CA3 + P2CA1 + CAF;
    }
    CACTL1 = CAON ;

    EnableCap;

    定时器中断 有波形发出。     比较器设置是正确的。  应该是比较器死了

  • 好的,跟进过去了

  • 您是在Timer的ISR中配置的比较器。

    我们的工程师在errata TAB22中发现了一个已知的问题:Timer的寄存器在Watchdog Timer PUC之后被意外修改。

    如果Timer没有正常工作,可能会导致比较器不能正常工作。

  • 看门狗复位后 定时器会初始化。430抗干扰非常弱, 定时器受到干扰会死机。我在定时器中喂狗才使 看门狗复位。     我现在初始化时 先关闭比较器 再打开比较器(相当于给比较器断了一次电),测试了几千次没有遇到死机。    我特地用stm32f030   和g2313  都不开狗的 情况下 同时开机干扰,g2313死了 030 正常。

  • 好的,您描述的情况我会反馈回去的。