你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
请教一下大神,STM32 休眠后有很多时侯唤不醒
[复制链接]
wanggong1976
提问时间:2015-2-27 12:23 /
请教一下STM32 休眠后有很多时侯唤不醒!!!连硬复位都没有用,也就是单片机睡死了!!!请教是片子本身的问题吗?
赞
0
收藏
0
评论
11
分享
发布时间:2015-2-27 12:23
举报
请先
登录
后回复
11个回答
wanggong1976
回答时间:2015-2-27 12:25:49
a0a.1 32b0c
stm32f415 死机
赞
0
评论
回复
支持
反对
lkl0305
回答时间:2015-2-27 15:09:48
a0a.1 32b0c
没遇到过,帮顶
赞
0
评论
回复
支持
反对
大器所成
回答时间:2015-2-27 16:29:41
a0a.1 32b0c
帮顶一下,可以换个片子试试
赞
0
评论
回复
支持
反对
拼命三郎V5
回答时间:2015-2-27 18:48:29
a0a.1 32b0c
赞
0
评论
回复
支持
反对
zhangdaijin
回答时间:2015-2-28 07:30:34
a0a.1 32b0c
代码有没有问题啊?
赞
0
评论
回复
支持
反对
拼命三郎
回答时间:2015-2-28 08:24:32
a0a.1 32b0c
赞
0
评论
回复
支持
反对
MouseCat
回答时间:2015-2-28 08:41:08
a0a.1 32b0c
不可能复位都起不来吧?
赞
0
评论
回复
支持
反对
shaoziyang
回答时间:2015-2-28 11:59:00
a0a.1 32b0c
没有说具体情况,休眠方式、唤醒方式。
赞
0
评论
回复
支持
反对
wanggong1976
回答时间:2015-3-16 07:58:18
a0a.1 32b0c
谢谢,我把代码贴出来给大家看下,是的复位都不行,只有重新上电才可以,好可怕啊,以前用AVR没这种现象。
赞
0
评论
回复
支持
反对
wanggong1976
回答时间:2015-3-16 07:59:14
a0a.1 32b0c
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); //¹æÔòͨµÀת»»¿ªÊ¼
}
赞
0
评论
回复
支持
反对
wanggong1976
回答时间:2015-3-16 07:59:30
a0a.1 32b0c
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();
}
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
{
// 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); //¹æÔòͨµÀת»»¿ªÊ¼
}
{
//***********************************½øÈëÐÝÃß
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();
}