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

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

[复制链接]
wanggong1976 提问时间:2015-2-27 12:23 /
阅读主题, 点击返回1楼
收藏 评论11 发布时间:2015-2-27 12:23
11个回答
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();
}
12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版