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:看门狗复位后、比较器将不工作

Guru**** 657930 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1175449/msp430g2313-the-comparator-will-not-work-after-watchdog-reset

器件型号:MSP430G2313

大家好、

以下是客户提出的问题、可能需要您的帮助:

当正常工作时、比较器输出一个方波。  

如果比较器输出没有变化、看门狗将在1秒后复位 MCU。  使用示波器观察看门狗装置持续复位。 硬件复位(将复位引脚短接至接地)后、比较器将正常工作。  

干扰源是由另一个电路板启动电机引起的。  

问题的概率为十分之一到百分之一。

如何解决此问题?

谢谢、此致、

耶鲁李

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    看门狗复位会发出 PUC、而不是 POR。 比较器寄存器仅在 POR 时复位。 [参考 F2用户指南(SLAU144J)表21-1]

    也许值得检查比较器初始化、看看其中是否有任何一个依赖于寄存器的复位值。 (通常情况下,建议使用“=”而不是“|=”来设置它们。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    同意 Bruce 的观点。  您可能需要在此处检查初始化代码。  

    此致、

    现金 Hao

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、

    感谢您的帮助!

    我的客户在计时器 ISR 中打开比较器:

    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;

    该波形是在计时器的 ISR 期间生成的。 他认为比较器的设置是正确的。 他怀疑比较器是"死"的。

    谢谢、此致、

    耶鲁李

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在您的标题中、您说过在看门狗复位后比较器将不工作。 在代码中、比较器在计时器的 ISR 中进行配置。 我在勘误表 TAB22中发现了一个已知错误、这表示在看门狗计时器 PUC 之后对计时器寄存器进行了不必要的修改。 如果定时器不能正常工作、可能会导致比较器工作错误。

    此致、

    现金 Hao