Dffg_ 2022-02-12 00:11 采纳率: 25%
浏览 48

STM32F103 低功耗模式STOP唤醒问题

int main(){
    SysTick_Init(72);
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    LED_Init();
    USART1_Init(9600);
    KEYBOARD_Init();
    My_EXTI_Init();    
    
    while(1)
    {
        printf("5\r\n");
        led1=0;
        delay_ms(1000);
        
        printf("4\r\n");
        led1=1;
        delay_ms(1000);
        
        printf("3\r\n");
        led1=0;
        delay_ms(1000);
        
        printf("2\r\n");
        led1=1;
        delay_ms(1000);
        
        printf("1\r\n");
        led1=0;
        delay_ms(1000);
        
        printf("Stop \r\n");

        Enter_Stop_Mode();
        printf("唤醒成功\r\n");
        
    }
}

主函数在一系列初始化后开始5秒倒数,最后进入stop模式。
使用外部中断(下键)唤醒,唤醒后打印_“唤醒成功”_。

void EXTI3_IRQHandler(void)
{
    if(EXTI_GetITStatus(EXTI_Line3)==1)
    {
        delay_ms(10);
        if(KEY_DOWN==0)
        {
            USART1_Init(9600);
            printf("唤醒成功\r\n");
        }
    }
    EXTI_ClearITPendingBit(EXTI_Line3);
}

退出stop模式后应该从进入stop模式的代码处继续,但串口调试助手的结果如图:

img

给我的感觉是按一下唤醒一下,这是怎么回事啊?

  • 写回答

1条回答 默认 最新

  • qq_43054949 2022-02-12 20:31
    关注

    按一下进一次中断,然后打印一次。你加一个标志记录当前是否处于休眠状态,休眠了再打印

    评论

报告相同问题?

问题事件

  • 创建了问题 2月12日

悬赏问题

  • ¥15 Tradingview两个副图指标叠加后。在不同的时间框架,和不同的产品,数值参数差异。导致可视化效果
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵
  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题