STM32
直播中

一说就是错

12年用户 532经验值
私信 关注
[问答]

怎样去使用STM32L051单片机

怎样去使用STM32L051单片机
Period每隔多久执行一次?

timeout第一次什么时候执行?

回帖(1)

洪欣意

2021-9-23 11:45:35
  LPTIM Source MUX更换时钟源要重新全部断电再上电才会生效,坑了我2个小时
  LPTIM1不能在standby模式下唤醒,坑了我一天,要用闹钟AlarmA唤醒
  HAL_LPTIM_TimeOut_Start_IT(&hlptim1, Period, Timeout);
  Period 每隔多久执行一次 实际的值应该填写
  Timeout 第一次什么时候执行
  这两个值的计算公示如下
  外部时钟LSE的话 时钟源频率(32768) / 分频值 (LPTIM_PRESCALER_DIV16) * 秒数
  内部时钟LSI的话 时钟源频率(37000) / 分频值 (LPTIM_PRESCALER_DIV16) * 秒数
  系统唤醒之后要重新配置系统时钟,否则默认使用HSI时钟信号,会变慢
  void reInitSystem(){
  //重新配置系统时钟
  SystemClock_Config();
  //初始化串口
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
  //清楚唤醒标记
  __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
  __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG();
  //禁用
  HAL_RTCEx_DeactivateWakeUpTimer(&hrtc);
  }
  休眠之前需要操作
  void prepareLowPowerMode(){
  //进入低功耗模式
  HAL_PWREx_EnableUltraLowPower();
  HAL_PWREx_EnableFastWakeUp();
  //关掉led灯
  HAL_GPIO_WritePin(LED_RUN_GPIO_Port, LED_RUN_Pin, GPIO_PIN_SET);
  //等串口的信息发完再关闭串口
  osDelay(1);
  //串口关闭
  HAL_UART_DeInit(&huart2);
  HAL_UART_DeInit(&huart2);
  }
  窗口看门狗wwdg的操作
  在时钟图上增加分频,否则看门狗最大的8分频,时间范围也仅仅是0ms~12ms(试出来的),每增加一倍分频,这个时间扩大一倍,最大可以达到16分频,也就是说0ms~192ms,我还是不懂怎么算。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分