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

stm32l011k4 uart 在stop 模式下无法唤醒

[复制链接]
祉优_q 提问时间:2017-5-5 19:17 /
阅读主题, 点击返回1楼
收藏 2 评论23 发布时间:2017-5-5 19:17
23个回答
祉优_q 回答时间:2017-6-3 15:16:46
安 发表于 2017-5-24 10:45
唤醒方式在手册里面写了。

可以的。en.DM00355687这个文件里有提到可以到stop下唤醒。且en.stm32cubel0的例程里有UART_WakeUpFromStop的代码。我是直接跑的,但就是唤醒不了!!不知道错在哪里!!
22.png

以下是官方的例程:
   /* make sure that no UART transfer is on-going */
   while(__HAL_UART_GET_FLAG(&UartHandle, USART_ISR_BUSY) == SET);
   /* make sure that UART is ready to receive
   * (test carried out again later in HAL_UARTEx_StopModeWakeUpSourceConfig) */   
   while(__HAL_UART_GET_FLAG(&UartHandle, USART_ISR_REACK) == RESET);

  /* set the wake-up event:
   * specify wake-up on RXNE flag */
  WakeUpSelection.WakeUpEvent = UART_WAKEUP_ON_READDATA_NONEMPTY;
  if (HAL_UARTEx_StopModeWakeUpSourceConfig(&UartHandle, WakeUpSelection)!= HAL_OK)
  {
    Error_Handler();
  }

  /* Enable the UART Wake UP from stop mode Interrupt */
  __HAL_UART_ENABLE_IT(&UartHandle, UART_IT_WUF);

  /* about to enter stop mode: switch off LED */
  __HAL_RCC_PWR_CLK_ENABLE();
  /* enable MCU wake-up by UART */
  HAL_UARTEx_EnableStopMode(&UartHandle);
  /* enter stop mode */
        BSP_LED_Off(LED3);
  HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);

  /* ... STOP mode ... */  

  SystemClock_Config();
  /* at that point, MCU has been awoken: the LED has been turned back on */
  /* Wake Up based on RXNE flag successful */
        BSP_LED_On(LED3);
  HAL_UARTEx_DisableStopMode(&UartHandle);

  /* wait for some delay */
  HAL_Delay(1000);
  /* Inform other board that wake up is successful */
  if (HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer1, COUNTOF(aTxBuffer1)-1, 5000)!= HAL_OK)  
  {
    Error_Handler();
  }  
        HAL_Delay(1000);
  BSP_LED_Off(LED3);
  /*##-2- Wake Up second step  ###############################################*/
  /* make sure that no UART transfer is on-going */
  while(__HAL_UART_GET_FLAG(&UartHandle, USART_ISR_BUSY) == SET);
  /* make sure that UART is ready to receive
   * (test carried out again later in HAL_UARTEx_StopModeWakeUpSourceConfig) */   
  while(__HAL_UART_GET_FLAG(&UartHandle, USART_ISR_REACK) == RESET);

  /* set the wake-up event:
   * specify wake-up on start-bit detection */
  WakeUpSelection.WakeUpEvent = UART_WAKEUP_ON_STARTBIT;
  if (HAL_UARTEx_StopModeWakeUpSourceConfig(&UartHandle, WakeUpSelection)!= HAL_OK)
  {
    Error_Handler();
  }

  /* Enable the UART Wake UP from stop mode Interrupt */
  __HAL_UART_ENABLE_IT(&UartHandle, UART_IT_WUF);

  /* about to enter stop mode: switch off LED */
  BSP_LED_Off(LED3);
  /* enable MCU wake-up by UART */
  HAL_UARTEx_EnableStopMode(&UartHandle);
  /* enter stop mode */
  HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);

  /* ... STOP mode ... */

  /* at that point, MCU has been awoken: the LED has been turned back on */
  /* Wake Up on start bit detection successful */
  HAL_UARTEx_DisableStopMode(&UartHandle);
  /* wait for some delay */
  HAL_Delay(100);
  /* Inform other board that wake up is successful */
  if (HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer2, COUNTOF(aTxBuffer2)-1, 5000)!= HAL_OK)  
  {
    Error_Handler();
  }   


祉优_q 回答时间:2017-6-3 15:20:47
无薪税绵 发表于 2017-5-24 09:43
demo不可能有问题的。

会不会是PC端的唤醒命令有问题。

与命令无关噢
祉优_q 回答时间:2017-6-3 15:24:49
xmshao 发表于 2017-5-24 17:42
不同的休眠模式能能被什么唤醒,ST MCU参考手册上都明确写出来了的。
这里的32L011,STOP模式下可以被USART ...

可否提示下要怎么与exti中断线配置呢? 官方的demo没有看到啊。可否贴下代码?
废鱼 回答时间:2017-6-5 08:58:54
我这没有这个芯片,楼主可以自己跑一下这个例程。
祉优_q 回答时间:2017-6-5 11:37:34
安 发表于 2017-6-5 08:58
我这没有这个芯片,楼主可以自己跑一下这个例程。

跑过啦! 其他例程没有问题。就是那个例程唤不醒!!
我是笨鸟我先飞 回答时间:2017-8-3 16:28:10
本帖最后由 我是笨鸟我先飞 于 2017-8-3 16:29 编辑

刚好我也在调这个程序  我用的是L452,Dome应该类似吧  我的Dome是需要两块板子   不过有一块是不需要进低功耗的,所以 可以用电脑串口助手代替,不过唤醒时 发送 的内容有要求。  还有就是 我换个串口 想用其他串口唤醒 就不行  只有UART4才能唤醒   感觉  ST低功耗这方面的做的不好  提供的支持也不足,PDF讲的太笼统
samhong 回答时间:2017-8-19 11:04:03
L011是ST  32位的最低端的,出现点问题正常,不能带来一些利润产品!!!
sallyliuy 回答时间:2017-10-19 22:01:52
STM32L0系列使用SWD无法下载有什么好的而解决方案吗?
xiatangtang 回答时间:2018-5-16 16:19:12
楼主的我问题解决了吗?好像L011就是不可以用UART2唤醒
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版