[求助] STM32F103C8T6停机模式的问题

chenbingjy   2019-3-7 18:19 楼主
最近搞低功耗,开始用睡眠模式,不太好。
现在在整停机模式。
以前没搞过,所以发帖子询问一下,心里放心。
我程序里这么干的:
初始化:
Stm32_Clock_Init(2);CPU_Init();                     //CPU初始化               
        VAR_Init();                                                //变量初始化
       
        usart1_init(9600);               
        NVIC_Init10();
       
        /* Enable PWR and BKP clock */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
  /* Allow access to BKP Domain */
  PWR_BackupAccessCmd(ENABLE);


进入停机模式:
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

唤醒时,我这么干:
void EXTI3_IRQHandler(void)
{   
    long int i;
       
    if(EXTI_GetITStatus(EXTI_Line3)!=RESET)                                //上升
        {

                Stm32_Clock_Init(2);                    //16MHz

                GPIO_ResetBits(GPIOA,GPIO_Pin_12);                //灯亮

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
Stm32_Clock_Init(2);                    这个是重新配置时钟。
请问高手,我这么配置是正确的吧?谢谢!


为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复评论 (2)

1) 103深度休眠模式没有尝试过
2)   以其它单片机的开发经验来说,你这样可能只是唤醒了MCU,但没有初始化相关外设,
3) 其它MCU的做法是,在唤醒一般运行的地方是睡眠的地方,所以在休眠程序段的下面紧接着做的是唤醒后的代码,比如初始化相关IO,相关外设等
4)   只能帮你到这了,回关有空了,也仔细研究一下STM32F103
专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void
点赞  2019-3-7 21:00
可以考虑用灵动微的MM32F103C8T6替换,提供原厂技术支持~~
存储芯片/MCU/SRAM/PSRAM/DDR/FLASH/MRAM。web.www.sramsun.com  QQ3161422826 TEL:13751192923
点赞  2019-3-8 10:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复