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.

[参考译文] MSPM0G3507:如何对 BOR 相关中断子例程进行编码

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1397291/mspm0g3507-how-to-coding-bor-related-interrupt-subroutine

器件型号:MSPM0G3507
主题中讨论的其他器件:SysConfig

工具与软件:

你好、专家

1.

检测低功耗时、在 BOR 之前、我需要执行闪存写入、GPIO 开/关等操作、所以我将执行这些操作

在中断子例程中、但我不知道如何编码、因为我在 SDK 示例项目中找不到示例。

2.

我在 SysConfig(P1)中设置 BOR3(P2),在我的理解中,如果 VDD 低于2.93V(P3),程序将进入中断(如果我启用与 BOR 相关的中断),

我是对吗?

感谢您的帮助。

  

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

    您好!

    BOR 中断将在 NMI 中断处理程序中处理。 请参阅以下代码示例。

    #include "ti_msp_dl_config.h"
    
    int main(void)
    {
        SYSCFG_DL_init();
        DL_SYSCTL_activateBORThreshold();
    //    DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_1);
        DL_GPIO_clearPins(GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_0_PIN);
        while (1) {
    
        }
    }
    
    void NMI_Handler(void)
    {
        switch(DL_SYSCTL_getPendingNonMaskableInterrupt()){
        case DL_SYSCTL_NMI_IIDX_BORLVL:
            DL_GPIO_togglePins(GPIO_GRP_0_PORT, GPIO_GRP_0_PIN_0_PIN);
            delay_cycles(200000);
            DL_SYSCTL_activateBORThreshold();
    //        DL_SYSCTL_clearNonMaskableInterruptStatus(SYSCTL_NMIICLR_BORLVL_CLR);
    //        __BKPT(0);
            break;
        default:
            break;
        }
    }
    

    [报价 userid="214954" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1397291/mspm0g3507-how-to-coding-bor-related-interrupt-subroutine "]

    我在 SysConfig(P1)中设置 BOR3(P2),在我的理解中,如果 VDD 低于2.93V(P3),程序将进入中断(如果我启用与 BOR 相关的中断),

    我是对吗?

    [报价]

    是的、回答正确/

    此致、

    Zoey

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

    您好、Zoey

    感谢您的帮助、我是否需要在 SysConfig 中进行任何设置来启用中断?

    或者直接运行 DL_SYSCTL_activateBORThreshold ();然后中断将自动启用?

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

    您好!

     DL_SYSCTL_activateBORThreshold (); 将使您设置的 BOR 电平处于活动状态、并且 NMI 始终可以在不执行任何使能操作的情况下导致中断。 只有 IRQ 应由 NVIC 管理(您可以启用 NVIC)。

    此致、

    Zoey

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

    您好、Zoey

    感谢您的帮助、一切顺利完成。