最近在进行一个实验项目,使用的是stm32L051k8,是8KRAM,64KFLASH,需要使用到RTC闹钟。同时使用的是LL库,但是发现RTC的闹钟根本无法启动。在此贴出RTC部分代码。希望使用过STM32L0系列闹钟的坛友们帮忙看看。 RTC_AlarmStruct.AlarmTime.TimeFormat = LL_RTC_HOURFORMAT_24HOUR; RTC_AlarmStruct.AlarmTime.Hours = Hours; RTC_AlarmStruct.AlarmTime.Minutes = Minutes; RTC_AlarmStruct.AlarmTime.Seconds = Seconds; RTC_AlarmStruct.AlarmMask = LL_RTC_ALMB_MASK_DATEWEEKDAY ; //精确匹配星期,时分秒 RTC_AlarmStruct.AlarmDateWeekDaySel = LL_RTC_ALMB_DATEWEEKDAYSEL_DATE; //按星期闹 RTC_AlarmStruct.AlarmDateWeekDay = WeekDay; LL_RTC_ALMB_Init(RTC, LL_RTC_FORMAT_BIN, &RTC_AlarmStruct); LL_RTC_ClearFlag_ALRB(RTC); LL_RTC_ALMB_Enable(RTC); LL_RTC_EnableIT_ALRB(RTC); NVIC_EnableIRQ(RTC_IRQn); //使能RTC中断 NVIC_SetPriority(RTC_IRQn, 3); |
é¹é设å®å¯åå¨
é¹éCRå¯åå¨æ æ³åå ¥ï¼å¯¼è´æ æ³å¼å¯é¹é
STM32L011D4芯片用SWD无法下载程序
求助:STM32L0系列标准库哪里下?
STM32L051低温时LPUART串口波特率异常
STM32L051单片机ADC如何彻底关闭?
STM32L051C8进入低功耗模式电流偏大
STM32L052C8T6通过I2C模拟读16位数
STM32L0的VLCD外接5V会有问题吗
求助!!使用STM32L073 IO口模拟IIC接口读写AT24CM01 程序不停...
STM32L072RB写Bank2 EEPROM不响应中断
STM32L031无法进入boot
像类似问题,请给出STM32CubeMX、HAL的版本信息、工程文件,否则无法给你测试。你贴出的代码没有问题,可能会有问题的却没有交代。
请使用STM32CubeMX、HAL和LL库最新版本。
HAL都可能有BUG,LL更库容易有BUG,ST有时会不声不响的把BUG修复,版本更新。不要问我是怎么知道的,满满都是累。
评分
查看全部评分
stm32L0xx LL库RTC闹钟
问题已解决:
首先想办法解决了无法开启RTC闹钟事件的问题:
1、在进行闹钟的开启和关闭的时候必须要首先禁用RTC的写保护;
LL_RTC_DisableWriteProtection(RTC);
RTC的闹钟事件就正常了,而且能够正常触发,但是问题来了,事件触发了,但是根本就无法进入中断,这个时候就需要修改两个地方,通过查询寄存器手册得知,RTC的闹钟是映射到了外部中断线,所以需要使用RTC闹钟的中断,就需要开启相应的外部中断:然后添加了两行代码: LL_EXTI_EnableIT_0_31(LL_EXTI_LINE_17);
LL_EXTI_EnableRisingTrig_0_31(LL_EXTI_LINE_17);
,再次贴出关键代码: