Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
天中雨水
rt-thread
提交
932bbc29
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,发现更多精彩内容 >>
未验证
提交
932bbc29
编写于
12月 17, 2020
作者:
B
Bernard Xiong
提交者:
GitHub
12月 17, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4171 from mysterywolf/master
[emergency][posix] 实现usleep函数
上级
59d964ae
ab754255
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
34 addition
and
17 deletion
+34
-17
components/libc/compilers/armlibc/sys/types.h
components/libc/compilers/armlibc/sys/types.h
+8
-6
components/libc/compilers/armlibc/sys/unistd.h
components/libc/compilers/armlibc/sys/unistd.h
+4
-1
components/libc/compilers/common/sys/time.h
components/libc/compilers/common/sys/time.h
+1
-2
components/libc/compilers/dlib/sys/types.h
components/libc/compilers/dlib/sys/types.h
+7
-6
components/libc/compilers/dlib/sys/unistd.h
components/libc/compilers/dlib/sys/unistd.h
+5
-0
components/libc/time/posix_sleep.c
components/libc/time/posix_sleep.c
+9
-2
未找到文件。
components/libc/compilers/armlibc/sys/types.h
浏览文件 @
932bbc29
...
...
@@ -5,20 +5,22 @@
*
* Change Logs:
* Date Author Notes
* 2020-09-05 Meco Man fix bugs
* 2020-09-05 Meco Man fix bugs
* 2020-12-16 Meco Man add useconds_t
*/
#ifndef __TYPES_H__
#define __TYPES_H__
#include <stdint.h>
typedef
int32_t
clockid_t
;
typedef
int32_t
key_t
;
/* Used for interprocess communication. */
typedef
int32_t
pid_t
;
/* Used for process IDs and process group IDs. */
typedef
int32_t
clockid_t
;
typedef
int32_t
key_t
;
/* Used for interprocess communication. */
typedef
int32_t
pid_t
;
/* Used for process IDs and process group IDs. */
#ifndef ARCH_CPU_64BIT
typedef
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
typedef
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
#else
typedef
long
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
typedef
long
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
#endif
typedef
unsigned
long
useconds_t
;
/* microseconds (unsigned) */
#endif
components/libc/compilers/armlibc/sys/unistd.h
浏览文件 @
932bbc29
...
...
@@ -5,11 +5,13 @@
*
* Change Logs:
* Date Author Notes
* 2020-12-16 Meco Man add usleep
*/
#ifndef _SYS_UNISTD_H
#define _SYS_UNISTD_H
#include <rtthread.h>
#include <rtconfig.h>
#include "types.h"
#ifdef RT_USING_DFS
...
...
@@ -69,5 +71,6 @@ int isatty (int fd);
char
*
ttyname
(
int
desc
);
unsigned
int
sleep
(
unsigned
int
seconds
);
int
usleep
(
useconds_t
usec
);
#endif
/* _SYS_UNISTD_H */
components/libc/compilers/common/sys/time.h
浏览文件 @
932bbc29
...
...
@@ -36,8 +36,7 @@ struct timeval {
};
#endif
/* _TIMEVAL_DEFINED */
#ifndef _TIMESPEC
#define _TIMESPEC
#if !defined __GNUC__ && !defined __ICCARM__
struct
timespec
{
time_t
tv_sec
;
/* seconds */
long
tv_nsec
;
/* and nanoseconds */
...
...
components/libc/compilers/dlib/sys/types.h
浏览文件 @
932bbc29
...
...
@@ -5,20 +5,21 @@
*
* Change Logs:
* Date Author Notes
* 2020-12-16 Meco Man add useconds_t
*/
#ifndef __TYPES_H__
#define __TYPES_H__
#include <stdint.h>
#include <rtthread.h>
typedef
rt_int32_t
clockid_t
;
typedef
rt_int32_t
key_t
;
/* Used for interprocess communication. */
typedef
rt_int32_t
pid_t
;
/* Used for process IDs and process group IDs. */
typedef
int32_t
clockid_t
;
typedef
int32_t
key_t
;
/* Used for interprocess communication. */
typedef
int32_t
pid_t
;
/* Used for process IDs and process group IDs. */
#ifndef ARCH_CPU_64BIT
typedef
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
typedef
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
#else
typedef
long
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
typedef
long
signed
int
ssize_t
;
/* Used for a count of bytes or an error indication. */
#endif
typedef
unsigned
long
useconds_t
;
/* microseconds (unsigned) */
#endif
components/libc/compilers/dlib/sys/unistd.h
浏览文件 @
932bbc29
...
...
@@ -5,10 +5,14 @@
*
* Change Logs:
* Date Author Notes
* 2020-12-16 Meco Man add usleep
*/
#ifndef _SYS_UNISTD_H
#define _SYS_UNISTD_H
#include <rtconfig.h>
#include "types.h"
#ifdef RT_USING_DFS
#define STDIN_FILENO 0
/* standard input file descriptor */
...
...
@@ -41,5 +45,6 @@ int isatty (int fd);
char
*
ttyname
(
int
desc
);
unsigned
int
sleep
(
unsigned
int
seconds
);
int
usleep
(
useconds_t
usec
);
#endif
/* _SYS_UNISTD_H */
components/libc/time/posix_sleep.c
浏览文件 @
932bbc29
...
...
@@ -5,10 +5,10 @@
*
* Change Logs:
* Date Author Notes
* 2020-12-16 Meco Man add usleep
*/
#include <stdlib.h>
#include <rtthread.h>
#include <rthw.h>
#include <unistd.h>
unsigned
int
sleep
(
unsigned
int
seconds
)
...
...
@@ -21,3 +21,10 @@ unsigned int sleep(unsigned int seconds)
return
seconds
-
delta_tick
/
RT_TICK_PER_SECOND
;
}
int
usleep
(
useconds_t
usec
)
{
rt_thread_mdelay
(
usec
/
1000u
);
rt_hw_us_delay
(
usec
%
1000u
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录