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

STM32 RTC秒中断——基于LL库

[复制链接]
攻城狮Melo 发布时间:2022-11-3 22:04
STM32L0系列
测试基于L053

初始化
  1. void MX_RTC_Init(void)
  2. {
  3.   LL_RTC_InitTypeDef RTC_InitStruct = {0};

  4.   /* Peripheral clock enable */
  5.   LL_RCC_EnableRTC();

  6.   /* RTC interrupt Init */
  7.   NVIC_SetPriority(RTC_IRQn, 0);
  8.   NVIC_EnableIRQ(RTC_IRQn);

  9.   /** Initialize RTC and set the Time and Date
  10.   */
  11.   RTC_InitStruct.HourFormat = LL_RTC_HOURFORMAT_24HOUR;
  12.   RTC_InitStruct.AsynchPrescaler = 127;
  13.   RTC_InitStruct.SynchPrescaler = 255;
  14.   LL_RTC_Init(RTC, &RTC_InitStruct);
  15.   /** Initialize RTC and set the Time and Date
  16.   */
  17.   /** Enable the WakeUp
  18.   */
  19.   LL_RTC_DisableWriteProtection(RTC);
  20.   LL_RTC_WAKEUP_SetClock(RTC, LL_RTC_WAKEUPCLOCK_CKSPRE);
  21.   LL_EXTI_EnableIT_0_31(LL_EXTI_LINE_20);
  22.   LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_20);
  23.   LL_RTC_WAKEUP_Enable(RTC);
  24.   LL_RTC_EnableWriteProtection(RTC);
  25. }
复制代码

中断回调
  1. void RTC_IRQHandler(void)
  2. {
  3.   /* USER CODE BEGIN RTC_IRQn 0 */
  4.   HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
  5.   /* USER CODE END RTC_IRQn 0 */

  6.   /* USER CODE BEGIN RTC_IRQn 1 */
  7.   LL_RTC_ClearFlag_WUT(RTC);//清除秒中断事件
  8.   LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_20);//清除中断线标志位
  9.   /* USER CODE END RTC_IRQn 1 */
  10. }
复制代码

话外篇
维护老项目的时候调试半天,就是不能触发RTC秒钟断,最终经过查找,发现是HAL的MSP Init被删掉了。。。
在stm32l0xx_hal_msp.c中添加如下代码,RTC功能实现:

  1. void HAL_MspInit(void)
  2. {
  3.   /* USER CODE BEGIN MspInit 0 */

  4.   /* USER CODE END MspInit 0 */

  5.   __HAL_RCC_SYSCFG_CLK_ENABLE();
  6.   __HAL_RCC_PWR_CLK_ENABLE();

  7.   /* System interrupt init*/

  8.   /* USER CODE BEGIN MspInit 1 */

  9.   /* USER CODE END MspInit 1 */
  10. }
复制代码

————————————————
版权声明:Logan Li

收藏 评论0 发布时间:2022-11-3 22:04

举报

0个回答

所属标签

相似分享

官网相关资源

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