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

STM32F030F4P6待机模式唤醒应用问题

[复制链接]
hello_bug 提问时间:2020-5-26 13:55 /
使用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
收藏 评论3 发布时间:2020-5-26 13:55

举报

3个回答
大陶 回答时间:2020-5-27 09:08:40
待机模式唤醒后不是相当于复位了吗?
hello_bug 回答时间:2020-5-27 14:36:15
dataozi 发表于 2020-5-27 09:08
待机模式唤醒后不是相当于复位了吗?

SBF由硬件置位,复位需要上电、掉电、或者由软件写CSBF标志位才能清掉;待机模式唤醒这种清不掉的吧。
WUF也是由硬件置位,能被system reset清掉,但这个sysytem reset应该是指复位引脚NRST复位清掉吧
大陶 回答时间:2020-5-27 15:43:01
hello_bug 发表于 2020-5-27 14:36
SBF由硬件置位,复位需要上电、掉电、或者由软件写CSBF标志位才能清掉;待机模式唤醒这种清不掉的吧。
WU ...

没有用过F0的待机唤醒 F1和F4的待机唤醒后 相当于复位 我看看F0的手册

所属标签

相似问题

官网相关资源

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