你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f030f4p6待机唤醒应用问题

[复制链接]
hello_bug 发布时间:2020-5-27 16:40
使用STM32F030F4P6芯片做了一个传感器,使用LORA无线方式将传感器采集的数据发送出去。考虑到功耗,使用了Standby待机模式。
现在是可以进入待机模式,使用RTC唤醒,数据也能发送出来。
现在想让整个传感器初始上电后先进入休眠,然后在RTC唤醒后,再发送数据;但是现在只要上电就直接发送数据,然后才进入休眠。
通过查看PWR->CSR寄存器,看到RM手册中说SBF和WUF位是可以用来判断是否从待机模式中醒来的,但是程序这么做了不起作用,还是上电就发送数据。
请各位大佬给看看可能因为什么导致的。
int main(void)
{
  /* MCU Configuration--------------------------------------------------------*/

        HAL_Init();


  /* Configure the system clock */

  SystemClock_Config();
        
  MX_GPIO_Init();

  MX_RTC_Init();
        
  RTC_AlarmConfig();
  /* USER CODE BEGIN SysInit */

  if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET )        //在此判断SBF标志位,若为1,则表明是被唤醒过
  //if(__HAL_PWR_GET_FLAG(PWR_FLAG_WU)!= RESET)
{
        __HAL_RCC_GPIOA_CLK_ENABLE();
        MX_SPI1_Init();
        Lora_init();
        //HAL_Delay(10000);
        Read_Ds18b20();
        Lora_SendTemp1();
  }
  __HAL_RCC_PWR_CLK_ENABLE();

  if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET)
{
    __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
  }
        
  HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);

if (__HAL_PWR_GET_FLAG(PWR_FLAG_WU) != RESET)
{
    __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
  }
  HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
  HAL_PWR_EnterSTANDBYMode();
  while (1)
  {
               
               
  }
}

图片中红框部分,我看字面翻译就是说这2个标志位,一个是用来说明曾进入待机模式;另一个是曾被唤醒过,通过判断这个,认为设备进入过待机模式,那么就可以发送数据;若没进入过,那就先进入待机,不发数据。

待机唤醒问题.png (165.34 KB, 下载次数: 0)




收藏 评论3 发布时间:2020-5-27 16:40

举报

3个回答
疯de_恒 回答时间:2020-5-27 16:46:58
那就换一个思路,检测一下是不是上电复位,有一个复位源标志的,如果检测到是上电复位,就执行第一次上电的动作,否则当是唤醒。
hello_bug 回答时间:2020-5-27 22:01:49
す疯Ⅱ恒す 发表于 2020-5-27 16:46
那就换一个思路,检测一下是不是上电复位,有一个复位源标志的,如果检测到是上电复位,就执行第一次上电的 ...

按照这个思路,我判断if(__HAL_RCC_GET_FLAG(RCC_CSR_LPWRRSTF_BitNumber) == SET),这个标志位会表明是否从低功耗模式复位唤醒的,还是没起作用。难道还有什么寄存器要设置?
疯de_恒 回答时间:2020-5-28 09:16:45
hello_bug 发表于 2020-5-27 22:01
按照这个思路,我判断if(__HAL_RCC_GET_FLAG(RCC_CSR_LPWRRSTF_BitNumber) == SET),这个标志位会表明是 ...

我觉得可以直接检测上电复位这个标记。

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版