summaryrefslogtreecommitdiff
path: root/bsp
diff options
context:
space:
mode:
authorZxy <[email protected]>2022-12-22 09:33:54 +0800
committerGitHub <[email protected]>2022-12-21 20:33:54 -0500
commitf4323f2049328a6fdaa70a350f5a98e0b6cdb164 (patch)
tree32d637591cab08584c1b6054643fdc69bd9ce0f5 /bsp
parenteec9d4f595825958e09edd795fc281bdca04739d (diff)
[stm32f1] 对于RTC-Alarm进行添加STM32F1宏控制 (#6765)
并确认并列出已经在什么情况或板卡上进行了测试。 And confirm in which case or board has been tested. --> STM32F103ZET6 为什么提交这份PR (why to submit this PR) 使用STM32F103ZET6的RTC的Alarm功能出现问题,按照原本的驱动代码编译会报错。 你的解决方案是什么 (what is your solution) 修改底层驱动drv_rtc.c文件,将报错的几个结构体给注释掉即可。 在什么测试环境下测试通过 (what is the test environment) rtstudio下对STM32F103ZET6进行测试并且成功运行Alarm功能
Diffstat (limited to 'bsp')
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_rtc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c b/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
index 8f824637cb..748a27d405 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
@@ -368,14 +368,16 @@ static rt_err_t rtc_alarm_time_set(struct rtc_device_object* p_dev)
if (p_dev->wkalarm.enable)
{
Alarm_InitStruct.Alarm = RTC_ALARM_A;
+ Alarm_InitStruct.AlarmTime.Hours = p_dev->wkalarm.tm_hour;
+ Alarm_InitStruct.AlarmTime.Minutes = p_dev->wkalarm.tm_min;
+ Alarm_InitStruct.AlarmTime.Seconds = p_dev->wkalarm.tm_sec;
+#ifndef SOC_SERIES_STM32F1
Alarm_InitStruct.AlarmDateWeekDay = RTC_WEEKDAY_MONDAY;
Alarm_InitStruct.AlarmDateWeekDaySel = RTC_ALARMDATEWEEKDAYSEL_WEEKDAY;
Alarm_InitStruct.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY;
Alarm_InitStruct.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_NONE;
Alarm_InitStruct.AlarmTime.TimeFormat = RTC_HOURFORMAT12_AM;
- Alarm_InitStruct.AlarmTime.Hours = p_dev->wkalarm.tm_hour;
- Alarm_InitStruct.AlarmTime.Minutes = p_dev->wkalarm.tm_min;
- Alarm_InitStruct.AlarmTime.Seconds = p_dev->wkalarm.tm_sec;
+#endif /* SOC_SERIES_STM32F1 */
LOG_D("alarm set:%d:%d:%d", Alarm_InitStruct.AlarmTime.Hours,
Alarm_InitStruct.AlarmTime.Minutes,
Alarm_InitStruct.AlarmTime.Seconds);