打印
[其他ST产品]

STM32 RTC秒中断——基于LL库

[复制链接]
323|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梵蒂冈是神uy|  楼主 | 2022-12-25 13:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32L0系列

测试基于L053

初始化
void MX_RTC_Init(void)
{
  LL_RTC_InitTypeDef RTC_InitStruct = {0};

  /* Peripheral clock enable */
  LL_RCC_EnableRTC();

  /* RTC interrupt Init */
  NVIC_SetPriority(RTC_IRQn, 0);
  NVIC_EnableIRQ(RTC_IRQn);

  /** Initialize RTC and set the Time and Date
  */
  RTC_InitStruct.HourFormat = LL_RTC_HOURFORMAT_24HOUR;
  RTC_InitStruct.AsynchPrescaler = 127;
  RTC_InitStruct.SynchPrescaler = 255;
  LL_RTC_Init(RTC, &RTC_InitStruct);
  /** Initialize RTC and set the Time and Date
  */
  /** Enable the WakeUp
  */
  LL_RTC_DisableWriteProtection(RTC);
  LL_RTC_WAKEUP_SetClock(RTC, LL_RTC_WAKEUPCLOCK_CKSPRE);
  LL_EXTI_EnableIT_0_31(LL_EXTI_LINE_20);
  LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_20);
  LL_RTC_WAKEUP_Enable(RTC);
  LL_RTC_EnableWriteProtection(RTC);
}



使用特权

评论回复
评论
梵蒂冈是神uy 2022-12-25 13:45 回复TA
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Roomen0/article/details/114519978 ———————————————— 版权声明:本文为CSDN博主「Logan Li」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Roomen0/article/details/114519978 
沙发
梵蒂冈是神uy|  楼主 | 2022-12-25 13:45 | 只看该作者
中断回调
void RTC_IRQHandler(void)
{
  /* USER CODE BEGIN RTC_IRQn 0 */
  HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
  /* USER CODE END RTC_IRQn 0 */

  /* USER CODE BEGIN RTC_IRQn 1 */
  LL_RTC_ClearFlag_WUT(RTC);//清除秒中断事件
  LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_20);//清除中断线标志位
  /* USER CODE END RTC_IRQn 1 */
}

使用特权

评论回复
板凳
梵蒂冈是神uy|  楼主 | 2022-12-25 13:46 | 只看该作者
话外篇
维护老项目的时候调试半天,就是不能触发RTC秒钟断,最终经过查找,发现是HAL的MSP Init被删掉了。。。
在stm32l0xx_hal_msp.c中添加如下代码,RTC功能实现:

使用特权

评论回复
地板
梵蒂冈是神uy|  楼主 | 2022-12-25 13:46 | 只看该作者
void HAL_MspInit(void)
{
  /* USER CODE BEGIN MspInit 0 */

  /* USER CODE END MspInit 0 */

  __HAL_RCC_SYSCFG_CLK_ENABLE();
  __HAL_RCC_PWR_CLK_ENABLE();

  /* System interrupt init*/

  /* USER CODE BEGIN MspInit 1 */

  /* USER CODE END MspInit 1 */
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

680

帖子

1

粉丝