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

解决一个又一个问题后还有问题,进入待机模式后短时间能唤醒,稍微长一点时间就没有反应了(约2分钟)

[复制链接]
封刀岁月不为峥嵘 提问时间:2023-10-8 16:45 / 已解决

还是这个图

image.png

image.png
收藏 评论7 发布时间:2023-10-8 16:45

举报

7个回答
xmshao 最优答案 回答时间:2023-10-9 21:26:32

封刀岁月不为峥嵘 发表于 2023-10-8 16:56
经过万用表测试,唤醒引脚确实也从高拉到低了。但是无法唤醒

怀疑你代码方面可能有些问题。

我今天使用STM32L476测试了,没有什么异常。我使用PA0脚作为唤醒脚,即SYSTEM WKUP 1。

在主循环里通过PA5闪烁LED后进入standby,任何时候都可以通过PA0唤醒脚唤醒。

参考代码如下,可以进行测试验证。

int main(void){

HAL_Init();

SystemClock_Config();

MX_GPIO_Init();

__HAL_RCC_PWR_CLK_ENABLE();

while (1)

{

for (uint8_t i = 0; i < 8; i++)       {

       HAL_Delay (400);

       HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_5);

      } //PA5 flinking LED

HAL_SuspendTick ();

__HAL_RCC_AHB2_FORCE_RESET();

__DSB ();

__HAL_RCC_AHB2_RELEASE_RESET();

HAL_PWR_DisableWakeUpPin (PWR_WAKEUP_PIN1);

__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF1);

//Enable wakeup pin WKUP1

HAL_PWR_EnableWakeUpPin (PWR_WAKEUP_PIN1_LOW);

//PA0 is configured in pullup mode.

HAL_PWREx_EnableGPIOPullUp (PWR_GPIO_A, PWR_GPIO_BIT_0);

HAL_PWREx_EnablePullUpPullDownConfig ();

__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF1);

HAL_PWR_EnterSTANDBYMode (); }

}

封刀岁月不为峥嵘 回答时间:2023-10-8 16:56:52

经过万用表测试,唤醒引脚确实也从高拉到低了。但是无法唤醒

butterflyspring 回答时间:2023-10-8 17:09:25
出问题时候,测试一下功耗,看看是不是在STANDBY 状态下还是软件跑出来,到其他状态下了。
封刀岁月不为峥嵘 回答时间:2023-10-8 17:13:40

butterflyspring 发表于 2023-10-8 17:09
出问题时候,测试一下功耗,看看是不是在STANDBY 状态下还是软件跑出来,到其他状态下了。
...

好的

封刀岁月不为峥嵘 回答时间:2023-10-8 17:18:28

butterflyspring 发表于 2023-10-8 17:09
出问题时候,测试一下功耗,看看是不是在STANDBY 状态下还是软件跑出来,到其他状态下了。
...

如果没跑出来可能是啥得问题呢qaq

xmshao 回答时间:2023-10-9 18:11:42
怀疑你代码方面可能有些问题。


我今天使用STM32L476测试了,没有什么异常。我使用PA0脚作为唤醒脚,即SYSTEM WKUP 1。


我在主循环里通过PA5闪烁LED后进入standby,任何时候都可以通过PA0唤醒脚唤醒。


参考代码如下,可以进行测试验证。


int main(void)
{

  HAL_Init();




  SystemClock_Config();




  MX_GPIO_Init();




  __HAL_RCC_PWR_CLK_ENABLE();




  while (1)

  {




      for (uint8_t i = 0; i < 8; i++)

      {

        HAL_Delay (400);

        HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_5);

      }   //PA5 flinking LED




      HAL_SuspendTick ();




      __HAL_RCC_AHB2_FORCE_RESET();




      __DSB ();




      __HAL_RCC_AHB2_RELEASE_RESET();




      HAL_PWR_DisableWakeUpPin (PWR_WAKEUP_PIN1);

      __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF1);




      //Enable wakeup pin WKUP1

      HAL_PWR_EnableWakeUpPin (PWR_WAKEUP_PIN1_LOW);




      //PA0 is configured in pullup mode.

      HAL_PWREx_EnableGPIOPullUp (PWR_GPIO_A, PWR_GPIO_BIT_0);

      HAL_PWREx_EnablePullUpPullDownConfig ();




      __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF1);




      HAL_PWR_EnterSTANDBYMode ();

  }



}
封刀岁月不为峥嵘 回答时间:2023-10-10 08:57:42

xmshao 发表于 2023-10-9 21:26
怀疑你代码方面可能有些问题。</p>
<p>我今天使用STM32L476测试了,没有什么异常。我使用PA0脚作为唤醒脚, ...

[md]应该是硬件问题,这个问题丢给了硬件工程师,然后我把一个Von的引脚待机前拉高,就正常了,之前蜂鸣器响的问题也同时解决了。虽然我不知道那个Von有啥用,。貌似是一个开关?

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版