首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从睡眠模式中唤醒Pic32?

如何从睡眠模式中唤醒Pic32?
EN

Stack Overflow用户
提问于 2018-12-28 12:49:02
回答 1查看 924关注 0票数 0

我试图让PIC32在启动时处于睡眠模式。当按下电源按钮时,Pic32应该退出睡眠模式并醒来。

我可以把PIC32放在睡眠模式,但我不知道如何才能触发它,以唤醒按钮按下。当用户按下电源按钮从而唤醒PIC32时,我是否可以触发中断?我使用的是微芯片和谐框架,对此我很陌生,有人能建议我如何实现这一点吗?

要说PIC32,我使用的是和谐的PowerEnterMode函数。为了唤醒PIC32,我试着使用手表狗计时器,跟随带有微芯片和谐的样例项目,但无法让它工作。我还读到,我可以使用外部中断设置它,但我不知道如何设置它。

我在下面添加了我的代码。

代码语言:javascript
复制
void APP_Initialize ( void )
{
    DRV_ADC_Open();
    DRV_ADC_Start();
    PLIB_ADC_Enable(ADC_ID_1);

    SPIHandle = DRV_SPI_Open(DRV_SPI_INDEX_0, DRV_IO_INTENT_READWRITE );
    DelayMs(100);
    SYS_DEVCON_PowerModeEnter(SYS_POWER_MODE_IDLE);

    appData.state = APP_STATE_POWER_UP;    
}

void APP_Tasks (void)
{
    switch ( appData.state )
    {
        case APP_STATE_POWER_UP:
             {
                 uint8_t pwrButton;
                 pwrButton = PWR_BTNStateGet() ;   
                 if (npwrButton == 0)                  // If button is pressed
                 {
                     PwrButtonDebounce += 1;      // Increment the pressed timer
                     DelayMs(10);
                 } else
                 {
                     PwrButtonDebounce = 0;            // Clear the Debounce Timer  
                 }
                 if (PwrButtonDebounce == MAX_DEBOUNCE)     // Debounced....
                 {
                     // Here Wake up routine on button press 
                     appData.state = APP_STATE_INIT;
                 }
             }
    }

我希望每当我按power按钮时,Pic32就会进入APP_STATE_POWER_UP状态,并在退出时处于初始化状态,但它永远不会出现在这种状态下。有人能建议我怎么安排这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-05 11:40:44

您应该使用“更改通知”中断。

启用CN中断的引脚,您有您的按钮,它将唤醒您的设备时,按下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53958877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档