你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教一下大神,STM32 休眠后有很多时侯唤不醒

[复制链接]
wanggong1976 提问时间:2015-2-27 12:23 /
请教一下STM32 休眠后有很多时侯唤不醒!!!连硬复位都没有用,也就是单片机睡死了!!!请教是片子本身的问题吗?

收藏 评论11 发布时间:2015-2-27 12:23

举报

11个回答
wanggong1976 回答时间:2015-2-27 12:25:49
stm32f415 死机
lkl0305 回答时间:2015-2-27 15:09:48
没遇到过,帮顶
大器所成 回答时间:2015-2-27 16:29:41
帮顶一下,可以换个片子试试
拼命三郎V5 回答时间:2015-2-27 18:48:29
顶顶顶顶顶顶顶顶顶大大大.jpg
zhangdaijin 回答时间:2015-2-28 07:30:34
代码有没有问题啊?
拼命三郎 回答时间:2015-2-28 08:24:32
ddddd.png
MouseCat 回答时间:2015-2-28 08:41:08
不可能复位都起不来吧?
shaoziyang 回答时间:2015-2-28 11:59:00
没有说具体情况,休眠方式、唤醒方式。
wanggong1976 回答时间:2015-3-16 07:58:18
谢谢,我把代码贴出来给大家看下,是的复位都不行,只有重新上电才可以,好可怕啊,以前用AVR没这种现象。
wanggong1976 回答时间:2015-3-16 07:59:14
void GpioConfig(void)
{
//   EXTI_InitTypeDef   EXTI_InitStructure;
    GPIO_InitTypeDef   GPIO_InitStructure;

    //*************************************************************************************¶Ë¿ÚB³õʼ»¯        PB12¡¢PB13ΪÊä³ö    PB10¡¢PB14ΪÊäÈë
    //*************************************************************ʹÄÜGPIOA GPIOBʱÖÓ
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB,ENABLE);
       
    //*************************************************************ʹÄÜ SYSCFG ʱÖÓ
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
       
    //*************************************************************ʹÄܱ¸·ÝÓòµçÔ´¿ØÖƼĴæÆ÷
          RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
        //  PWR_BackupRegulatorCmd(ENABLE);
          PWR->CR |= 0x00000100;
       
       
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM,ENABLE);       
       
       
    PWR->CSR |= PWR_CSR_BRE;
       
          //*****************************************************ʹÄܱ¸·ÝÓò       
          PWR_BackupAccessCmd(ENABLE);       
       
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM,ENABLE);       
       
    //*************************************************************¶Ë¿ÚBÅäÖóõʼ»¯   GPIOB_OTYPER¼Ä´æÆ÷    | GPIO_Pin_14
          GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12| GPIO_Pin_14;         //¶Ë¿Ú12Êä³ö   GPIO_OType_PP
          GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;                    //¿ªÂ©Êä³ö  GPIO_OType_OD         
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;                   //ÉÏÀ­
    GPIO_Init(GPIOB, &GPIO_InitStructure);
       
     /* Configure PA0 pin as input floating */
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
               
          //*****************************************************PB1.4ĬÈÏÊä³öµÍµçƽ
          GPIO_ResetBits(GPIOB,GPIO_Pin_14);               
               
    //*************************************************************´®¿Ú³õʼ»¯
                USART2_GPIO_Config();
}

//*********************************************************************************************
//¹¦ÄÜ£ºADCͨµÀת»»
//Èë¿Ú£ºÎÞ
//³ö¿Ú£ºÎÞ

void ADC3_IN11_Config(void)
{
          GPIO_InitTypeDef   GPIO_InitStructure;
    //************************************************GPIOÅäÖÃ
    RCC->AHB1ENR|=(1<<2);              //´ò¿ªGPIOCʱÖÓ
        //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        //GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;   

    GPIOC->MODER&=0xfffffff3;          //PC1Ä£Äâģʽ

    GPIOC->MODER|=0x0000000C;

    GPIOC->PUPDR&=0xfffffff3;          //½ûÖ¹ÉÏÏÂÀ­

    //****************************************************ADC3ÉèÖÃ
    RCC->APB2ENR|=(1<<10);            //ʹÄÜADC3ʱÖÓ
    ADC3->SQR1=0x00000000;            //1¸öͨµÀת»»
    ADC3->SQR3=0x0000000B;            //µÚÒ»¸öͨµÀΪADC3_in11

    ADC3->CR1&=0x00000000;

    ADC3->CR2&=0x00000000;

    ADC3->CR2|=(1<<1);                //Á¬Ðøת»»

    ADC3->CR2|=(1<<0);                //¿ªÆôADת»»

    ADC3->CR2|=(1<<30);               //¹æÔòͨµÀת»»¿ªÊ¼
}
wanggong1976 回答时间:2015-3-16 07:59:30
void PowerOff(void)
{       
    //***********************************½øÈëÐÝÃß       
          RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOB, DISABLE);   //RCC_AHB1Periph_GPIOA
                RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, DISABLE);

                RCC_AHB1PeriphResetCmd(0X1FF,ENABLE);
                RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);       

          //***********************************ʹÄÜ»½ÐÑ
                PWR_WakeUpPinCmd(ENABLE);
       
                PWR_FlashPowerDownCmd(ENABLE);       
       
                PWR_EnterSTANDBYMode();
}

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版