找回密码
 注册
关于网站域名变更的通知
查看: 296|回复: 1
打印 上一主题 下一主题

STM32F103C8T6停机模式出了问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-8 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近搞低功耗,开始用睡眠模式,不太好。
3 k3 O& u, i! s* c5 E0 S# Z现在在整停机模式。
- B9 g" @+ J4 R5 w4 }) A以前没搞过,所以发帖子询问一下,心里放心。
: j/ V1 i" j, g: ?我程序里这么干的:
/ r) E' g4 F7 n! S* A2 [6 Z" B1 s5 g初始化:
. o* X2 f8 B2 d3 s6 p5 uStm32_Clock_Init(2);CPU_Init();                     //CPU初始化               
$ r" v) {; h% q( ]* ^! I        VAR_Init();                                                //变量初始化
4 j  a# _6 {0 I# u        : u* K( i$ p+ D5 b, [9 \. k
        usart1_init(9600);                ( c, h2 s# G9 R! k; k0 N* X
        NVIC_Init10();
4 I: j& t8 w: C! i/ c5 A        
8 K6 \6 H8 q; t+ P5 Q; M2 v4 F$ a        /* Enable PWR and BKP clock */! }# J) L! K% ~4 q
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
2 c1 r- z, k, o+ G  /* Allow access to BKP Domain */0 J- [, c2 P6 n) l! W: [* W9 D
  PWR_BackupAccessCmd(ENABLE);+ c, N& d# v. C! \( G% W

& }9 p8 {) C; y9 R5 \3 Y, v7 `, u7 i7 V* O" B
进入停机模式:+ E7 d6 @% a( c$ ~
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);, U4 a3 @) T7 J& o3 F, U
- e" y8 n# d2 I9 d, U& c
唤醒时,我这么干:# D, I1 r! z- g& z9 z7 @2 R
void EXTI3_IRQHandler(void)2 X* Q: M+ ^. N, I% q5 {# `: l
{   2 n( o* A& h. s+ x1 q. x
    long int i;2 N6 m0 A! Q' Z0 l
        
* @$ S1 K9 h9 b5 c$ Z8 G* ^- B    if(EXTI_GetITStatus(EXTI_Line3)!=RESET)                                //上升
8 v# m7 @& ], G3 F9 z        {
  K0 s' W$ p# C# ]8 b$ a. K) N' l
0 m* \4 {1 S1 a% a) m2 x: ]                Stm32_Clock_Init(2);                    //16MHz
" g. S& j; F; N! k6 r' y0 I/ X- }0 ?' C. `8 e/ p7 q0 i
                GPIO_ResetBits(GPIOA,GPIO_Pin_12);                //灯亮
0 [( T9 J( j8 b5 C7 s
& v5 H% \* w/ {* h
% \: D7 B" ^$ z; q% p& iStm32_Clock_Init(2);                    这个是重新配置时钟。# G. H5 K) w7 \! e" A
请问高手,我这么配置是正确的吧?谢谢!. S8 o$ i% W4 a0 |8 V1 H
1 D9 \: b# }* n  C# Q, F

该用户从未签到

2#
发表于 2020-1-8 18:20 | 只看该作者
1) 103深度休眠模式没有尝试过* p- q$ x1 e+ Z& {1 V! u0 S
2)   以其它单片机的开发经验来说,你这样可能只是唤醒了MCU,但没有初始化相关外设,
* k7 s1 E9 |+ F; C  X  i3) 其它MCU的做法是,在唤醒一般运行的地方是睡眠的地方,所以在休眠程序段的下面紧接着做的是唤醒后的代码,比如初始化相关IO,相关外设等7 k# A7 v' ?+ b! @! T4 Y
4)   只能帮你到这了,回关有空了,也仔细研究一下STM32F103
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-18 06:23 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表