Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
天中雨水
rt-thread
提交
b91f6f12
R
rt-thread
项目概览
天中雨水
/
rt-thread
该项目与 Fork 源项目分叉
Fork自
RT-Thread / rt-thread
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b91f6f12
编写于
4月 05, 2022
作者:
还_没_想_好
提交者:
guo
4月 06, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[drivers][alarm] Optimize some codes
上级
b3f20ff9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
26 deletion
+12
-26
components/drivers/rtc/alarm.c
components/drivers/rtc/alarm.c
+12
-26
未找到文件。
components/drivers/rtc/alarm.c
浏览文件 @
b91f6f12
...
...
@@ -217,7 +217,7 @@ static void alarm_update(rt_uint32_t event)
struct
rt_alarm
*
alarm
;
rt_int32_t
sec_now
,
sec_alarm
,
sec_tmp
;
rt_int32_t
sec_next
=
24
*
3600
,
sec_prev
=
0
;
time_t
timestamp
;
time_t
timestamp
=
(
time_t
)
0
;
struct
tm
now
;
rt_list_t
*
next
;
...
...
@@ -225,12 +225,8 @@ static void alarm_update(rt_uint32_t event)
if
(
!
rt_list_isempty
(
&
_container
.
head
))
{
/* get time of now */
timestamp
=
time
(
RT_NULL
);
#ifdef _WIN32
_gmtime32_s
(
&
now
,
&
timestamp
);
#else
get_timestamp
(
&
timestamp
);
gmtime_r
(
&
timestamp
,
&
now
);
#endif
for
(
next
=
_container
.
head
.
next
;
next
!=
&
_container
.
head
;
next
=
next
->
next
)
{
...
...
@@ -239,12 +235,9 @@ static void alarm_update(rt_uint32_t event)
alarm_wakeup
(
alarm
,
&
now
);
}
timestamp
=
time
(
RT_NULL
);
#ifdef _WIN32
_gmtime32_s
(
&
now
,
&
timestamp
);
#else
/* get time of now */
get_timestamp
(
&
timestamp
);
gmtime_r
(
&
timestamp
,
&
now
);
#endif
sec_now
=
alarm_mkdaysec
(
&
now
);
for
(
next
=
_container
.
head
.
next
;
next
!=
&
_container
.
head
;
next
=
next
->
next
)
...
...
@@ -297,9 +290,9 @@ static void alarm_update(rt_uint32_t event)
rt_mutex_release
(
&
_container
.
mutex
);
}
static
rt_uint32_
t
days_of_year_month
(
int
tm_year
,
int
tm_mon
)
static
in
t
days_of_year_month
(
int
tm_year
,
int
tm_mon
)
{
rt_uint32_
t
ret
,
year
;
in
t
ret
,
year
;
year
=
tm_year
+
1900
;
if
(
tm_mon
==
1
)
...
...
@@ -342,18 +335,14 @@ static rt_bool_t is_valid_date(struct tm *date)
static
rt_err_t
alarm_setup
(
rt_alarm_t
alarm
,
struct
tm
*
wktime
)
{
rt_err_t
ret
=
RT_ERROR
;
time_t
timestamp
;
time_t
timestamp
=
(
time_t
)
0
;
struct
tm
*
setup
,
now
;
setup
=
&
alarm
->
wktime
;
*
setup
=
*
wktime
;
timestamp
=
time
(
RT_NULL
);
#ifdef _WIN32
_gmtime32_s
(
&
now
,
&
timestamp
);
#else
/* get time of now */
get_timestamp
(
&
timestamp
);
gmtime_r
(
&
timestamp
,
&
now
);
#endif
/* if these are a "don't care" value,we set them to now*/
if
((
setup
->
tm_sec
>
59
)
||
(
setup
->
tm_sec
<
0
))
...
...
@@ -551,7 +540,7 @@ rt_err_t rt_alarm_start(rt_alarm_t alarm)
{
rt_int32_t
sec_now
,
sec_old
,
sec_new
;
rt_err_t
ret
=
RT_EOK
;
time_t
timestamp
;
time_t
timestamp
=
(
time_t
)
0
;
struct
tm
now
;
if
(
alarm
==
RT_NULL
)
...
...
@@ -566,12 +555,9 @@ rt_err_t rt_alarm_start(rt_alarm_t alarm)
goto
_exit
;
}
timestamp
=
time
(
RT_NULL
);
#ifdef _WIN32
_gmtime32_s
(
&
now
,
&
timestamp
);
#else
/* get time of now */
get_timestamp
(
&
timestamp
);
gmtime_r
(
&
timestamp
,
&
now
);
#endif
alarm
->
flag
|=
RT_ALARM_STATE_START
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录