kangzj 发表于 2022-6-11 15:19

判断唤醒

STM32F1单片机在进入待机模式后,可以通过NRST引脚,WKUP引脚,RTC闹钟事件,IWDG复位来唤醒,唤醒后单片机会直接复位,此时如何判断单片机是唤醒复位的

yszong 发表于 2022-6-11 15:21

你有什么打算呢?或者你想知道什么?

kangzj 发表于 2022-6-11 15:26

而不是上电复位的

kangzj 发表于 2022-6-11 15:28

最好是RTC闹钟事件,IWDG复位,这两种方式唤醒

wyjie 发表于 2022-6-11 15:30

在判断WUF位之前,首先要打开PWR时钟

juventus9554 发表于 2022-6-11 15:32

用STM32F103做低功耗就可以了

renyaq 发表于 2022-6-11 15:35

单片机进入待机模式,RTC闹钟事件唤醒,通过WUF判断是否为唤醒复位。。。

dengdc 发表于 2022-6-11 15:37

有标志位的

jiaxw 发表于 2022-6-11 15:39


// 函数名称: RCC_GetFlagStatus
// 功能描述: 检查指定的RCC标志设置与否.
// 输入参数: RCC_FLAG:要检查的标志.
//                  这个参数可以是下面的值之一:
//                     - RCC_FLAG_HSIRDY: HIS振荡时钟就绪
//                     - RCC_FLAG_HSERDY: HSE振荡时钟就绪
//                     - RCC_FLAG_PLLRDY: PLL时钟就绪
//                     - RCC_FLAG_LSERDY: LSE振荡时钟就绪
//                     - RCC_FLAG_LSIRDY: LSI振荡时钟就绪
//                     - RCC_FLAG_PINRST: 引脚复位
//                     - RCC_FLAG_PORRST: POR/PDR复位
//                     - RCC_FLAG_SFTRST: 软件复位
//                     - RCC_FLAG_IWDGRST: 独立看门狗复位
//                     - RCC_FLAG_WWDGRST: 窗口看门狗复位
//                      - RCC_FLAG_LPWRRST: 低电量复位
// 输出参数: 无
// 返回参数: RCC_FLAG的新状态(SET或RESET).


FlagStatus RCC_GetFlagStatus(u8 RCC_FLAG)来查看!

tian111 发表于 2022-6-11 15:42


调用相关库函数。

juventus9554 发表于 2022-6-11 15:44

还有相关库函数?

dingy 发表于 2022-6-11 15:46

这种必须的有相关库函数。

zwll 发表于 2022-6-11 15:48

看电流好使不

chuxh 发表于 2022-6-11 15:50

WKUP唤醒Standby,可以通过PWR寄存器的WUF Bit来判断;
IWDG唤醒Standby,可以通过RCC->CSR寄存器内的IWDGRSTF Bit来判定;
RTC唤醒Standby,可以通过PWR寄存器的WUF Bit或者RTC的alam flag来判定。
其中NRST引脚及IWDG严格意义上不叫唤醒,其实际是通过芯片复位来间接实现的Standby退出。

supernan 发表于 2022-6-11 15:53

应该通过标志位进行判断吧

heweibig 发表于 2022-6-11 15:58

写一个小的判断程序

zwll 发表于 2022-6-11 16:00

当然可以判断了

supernan 发表于 2022-6-11 16:02

在中断里边就可以判断吧

huangchui 发表于 2022-6-11 16:04

没有考虑过这个问题

jlyuan 发表于 2022-6-11 16:07

手册是最好的老师,最好看en版的。
页: [1] 2
查看完整版本: 判断唤醒