Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Mozi
rt-thread
提交
55edb964
R
rt-thread
项目概览
Mozi
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
55edb964
编写于
5月 15, 2020
作者:
T
tyustli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【修改】添加注释及模块化程序
上级
a7c293fa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
12 deletion
+14
-12
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
+14
-12
未找到文件。
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c
浏览文件 @
55edb964
...
...
@@ -87,7 +87,9 @@ static rt_err_t set_rtc_time_stamp(time_t time_stamp)
LOG_D
(
"set rtc time."
);
HAL_RTCEx_BKUPWrite
(
&
RTC_Handler
,
RTC_BKP_DR1
,
BKUP_REG_DATA
);
#ifdef SOC_SERIES_STM32F1
/* F1 series does't save year/month/date datas. so keep those datas to bkp reg */
HAL_RTCEx_BKUPWrite
(
&
RTC_Handler
,
RTC_BKP_DR2
,
RTC_DateStruct
.
Year
);
HAL_RTCEx_BKUPWrite
(
&
RTC_Handler
,
RTC_BKP_DR3
,
RTC_DateStruct
.
Month
);
HAL_RTCEx_BKUPWrite
(
&
RTC_Handler
,
RTC_BKP_DR4
,
RTC_DateStruct
.
Date
);
...
...
@@ -120,13 +122,22 @@ static void rt_rtc_init(void)
#ifdef SOC_SERIES_STM32F1
/* update RTC_BKP_DRx*/
static
void
rt_rtc_bkp_update
(
void
)
static
void
rt_rtc_
f1_
bkp_update
(
void
)
{
RTC_DateTypeDef
RTC_DateStruct
=
{
0
};
HAL_PWR_EnableBkUpAccess
();
__HAL_RCC_BKP_CLK_ENABLE
();
RTC_DateStruct
.
Year
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR2
);
RTC_DateStruct
.
Month
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR3
);
RTC_DateStruct
.
Date
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR4
);
RTC_DateStruct
.
WeekDay
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR5
);
if
(
HAL_RTC_SetDate
(
&
RTC_Handler
,
&
RTC_DateStruct
,
RTC_FORMAT_BIN
)
!=
HAL_OK
)
{
Error_Handler
();
}
HAL_RTC_GetDate
(
&
RTC_Handler
,
&
RTC_DateStruct
,
RTC_FORMAT_BIN
);
if
(
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR4
)
!=
RTC_DateStruct
.
Date
)
{
...
...
@@ -201,17 +212,8 @@ static rt_err_t rt_rtc_config(struct rt_device *dev)
#ifdef SOC_SERIES_STM32F1
else
{
RTC_DateTypeDef
RTC_DateStruct
=
{
0
};
RTC_DateStruct
.
Year
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR2
);
RTC_DateStruct
.
Month
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR3
);
RTC_DateStruct
.
Date
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR4
);
RTC_DateStruct
.
WeekDay
=
HAL_RTCEx_BKUPRead
(
&
RTC_Handler
,
RTC_BKP_DR5
);
if
(
HAL_RTC_SetDate
(
&
RTC_Handler
,
&
RTC_DateStruct
,
RTC_FORMAT_BIN
)
!=
HAL_OK
)
{
Error_Handler
();
}
rt_rtc_bkp_update
();
/* F1 series need update by bkp reg datas */
rt_rtc_f1_bkp_update
();
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录