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

STM32F103C8T6停机模式出了问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
最近搞低功耗,开始用睡眠模式,不太好。
' O* W$ q/ t. ^4 d- E) o: N现在在整停机模式。
& K, P* n: |; p# n4 U以前没搞过,所以发帖子询问一下,心里放心。
1 f0 l3 P( R4 T, ]$ b我程序里这么干的:: d4 v) B) M' p  V# A) N
初始化:! f  Y4 t) w5 D; {# w. z& N: v
Stm32_Clock_Init(2);CPU_Init();                     //CPU初始化               
' Y% D, [+ k- r; o. b# z# p        VAR_Init();                                                //变量初始化
9 i- g8 g* r3 w        1 I, a% o& g& Q; _- g
        usart1_init(9600);                ! z0 l6 r0 G$ ^. N0 {1 w
        NVIC_Init10();
! t( L- j: G: N! k/ i! h        0 W! z/ q- }# [5 S" N1 I
        /* Enable PWR and BKP clock */
% R4 ?* s( M% q% n" J- ^7 M* u9 Z  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
* c. ]4 N3 f2 [  /* Allow access to BKP Domain */
6 m' s8 |; E% M3 C) Y% W& \( T  PWR_BackupAccessCmd(ENABLE);
1 S+ v/ L- g$ o
+ F  l, v- B4 ^' t  K. ]! k
3 Q  F0 m! `$ h进入停机模式:5 C' M, h% y. ]  Y. y" t
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
& ~; Q5 h( z, S0 o2 Z7 D
# O6 H4 R- g% M唤醒时,我这么干:
, @( K: ^% w6 Q1 _9 Nvoid EXTI3_IRQHandler(void)
2 P4 s4 J+ q( R& P6 f3 Y" D% \{   4 A6 y$ c, p/ u# I% k
    long int i;
8 o  ?, f8 T% K5 N1 ^* g7 D        
" z9 ]# U# y# }) O- W( U    if(EXTI_GetITStatus(EXTI_Line3)!=RESET)                                //上升
) i0 I# j) N+ u. j# K$ ?        {
8 A, r1 s& O- e! W3 C6 R4 ~' I1 H; u/ v  s3 I! a. q
                Stm32_Clock_Init(2);                    //16MHz
. P. h0 G+ F) J( o, B% `0 ?, g: b: z" n( V% y
                GPIO_ResetBits(GPIOA,GPIO_Pin_12);                //灯亮6 `9 M" u1 l3 G: H- k) H( ^

: q- M1 h( @, G- E6 |  ^# F) M9 t
* s  }: l# X8 U; wStm32_Clock_Init(2);                    这个是重新配置时钟。5 a$ t  G9 p6 s' o8 _$ H
请问高手,我这么配置是正确的吧?谢谢!4 R9 |: W# R7 G, P

8 j0 g. k# n' u

该用户从未签到

2#
发表于 2020-1-8 18:20 | 只看该作者
1) 103深度休眠模式没有尝试过* N2 d5 Q; T3 ^
2)   以其它单片机的开发经验来说,你这样可能只是唤醒了MCU,但没有初始化相关外设,# c: Y0 R5 d: F' [# C
3) 其它MCU的做法是,在唤醒一般运行的地方是睡眠的地方,所以在休眠程序段的下面紧接着做的是唤醒后的代码,比如初始化相关IO,相关外设等+ w: w2 m/ j) \% ]! E( l' R
4)   只能帮你到这了,回关有空了,也仔细研究一下STM32F103
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-11 14:40 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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