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

STM32F103C8T6停机模式出了问题

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
最近搞低功耗,开始用睡眠模式,不太好。
) X" R" h% w+ J现在在整停机模式。# T, v, s: T; p8 C
以前没搞过,所以发帖子询问一下,心里放心。
7 `5 n+ I5 Z( G% O" Q我程序里这么干的:5 h% D% M- `/ c
初始化:
* O6 K& j2 j5 v: O& aStm32_Clock_Init(2);CPU_Init();                     //CPU初始化                7 v! c# @$ _: S' X3 _) U1 B, h
        VAR_Init();                                                //变量初始化
$ K$ O  O# o6 I- g        % _0 z9 D5 p& i
        usart1_init(9600);                - }2 H: O5 {6 q3 g+ x* M5 r6 p
        NVIC_Init10();
, W7 y% c* B: ?7 z$ D        , `$ d2 q: R" Q- m( y! Q
        /* Enable PWR and BKP clock */5 o+ ]$ _2 N* S9 n, j: P5 e  |
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);% K! C, ~0 X( [4 F
  /* Allow access to BKP Domain */& V* T4 @1 H0 f( N$ r8 s* g
  PWR_BackupAccessCmd(ENABLE);( h( U3 u" R2 ]6 }' H. ?. p9 }
3 t, b/ y3 x# E" F" i4 g/ ]! k. C

2 ]' I- @3 k2 ~5 a8 V8 P0 {进入停机模式:
$ Z3 j! D9 m8 _4 U( y1 N( n+ N9 \" PPWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);# v6 d, }- t& c

' m* e% X! P% t4 t( i唤醒时,我这么干:
7 S6 ~; z2 B' k4 ?  \: Mvoid EXTI3_IRQHandler(void)
- N2 N( X. }8 V1 C. }$ J! u{   6 Y4 q9 T, z/ y$ i. X, @
    long int i;& {8 D/ x8 _1 o7 T: M0 m
        
" B0 m  J3 J+ K) w& w9 A  c6 W    if(EXTI_GetITStatus(EXTI_Line3)!=RESET)                                //上升
/ w4 h/ n* _6 T& d        {! z; E; ^3 g* P+ T: x
/ p) y. @6 v" p# P3 {3 P
                Stm32_Clock_Init(2);                    //16MHz
: ~8 ~6 H/ B; ^4 {: Y) F' c) c% K- I
                GPIO_ResetBits(GPIOA,GPIO_Pin_12);                //灯亮
0 W2 d, E9 S8 x! `& m4 j0 B* M, D. f  t
4 A6 {' E# k6 z' }+ E
Stm32_Clock_Init(2);                    这个是重新配置时钟。3 j# D7 }! w) \- B2 \2 y9 J
请问高手,我这么配置是正确的吧?谢谢!. m7 i1 [2 A5 |! q
( e+ Z& M) H! H, D

该用户从未签到

2#
发表于 2020-1-8 18:20 | 只看该作者
1) 103深度休眠模式没有尝试过- b6 O5 p3 W- Z: ~  V% x* |+ Z
2)   以其它单片机的开发经验来说,你这样可能只是唤醒了MCU,但没有初始化相关外设,1 S4 H$ j( X: h' z! Z. Y
3) 其它MCU的做法是,在唤醒一般运行的地方是睡眠的地方,所以在休眠程序段的下面紧接着做的是唤醒后的代码,比如初始化相关IO,相关外设等
( \4 R7 f6 N' I" [0 L4)   只能帮你到这了,回关有空了,也仔细研究一下STM32F103
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-23 13:47 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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