• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2009-2022 Huawei Technologies Co., Ltd. All rights reserved.
3  *
4  * UniProton is licensed under Mulan PSL v2.
5  * You can use this software according to the terms and conditions of the Mulan PSL v2.
6  * You may obtain a copy of Mulan PSL v2 at:
7  *          http://license.coscl.org.cn/MulanPSL2
8  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
9  * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
10  * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
11  * See the Mulan PSL v2 for more details.
12  * Create: 2009-12-22
13  * Description: 时钟模块的对外头文件。
14  */
15 #ifndef PRT_CLK_H
16 #define PRT_CLK_H
17 
18 #include "prt_typedef.h"
19 
20 #ifdef __cplusplus
21 #if __cplusplus
22 extern "C" {
23 #endif /* __cpluscplus */
24 #endif /* __cpluscplus */
25 
26 /*
27  * @brief 获取当前的64位time stamp计数(即系统运行的cycles)。
28  *
29  * @par 描述
30  * 获取当前的64位time stamp计数(即系统运行的cycles)。
31  *
32  * @attention
33  * <ul>
34  * <li>获取的是64bit cycles 数据。</li>
35  * </ul>
36  *
37  * @param 无。
38  *
39  * @retval [0,0xFFFFFFFFFFFFFFFF] 系统当前的cycle数
40  * @par 依赖
41  * <ul><li>prt_clk.h:该接口声明所在的头文件。</li></ul>
42  * @see 无
43  */
44 extern U64 PRT_ClkGetCycleCount64(void);
45 
46 /*
47  * @brief 转换cycle为毫秒。
48  *
49  * @par 描述
50  * 转换cycle为毫秒。
51  *
52  * @attention 无
53  *
54  * @param cycle [IN]  类型#U64,cycle数。
55  *
56  * @retval [0,0xFFFFFFFFFFFFFFFF] 转换后的毫秒数。
57  * @par 依赖
58  * <ul><li>prt_clk.h:该接口声明所在的头文件。</li></ul>
59  * @see PRT_ClkCycle2Us
60  */
61 extern U64 PRT_ClkCycle2Ms(U64 cycle);
62 
63 /*
64  * @brief 转换cycle为微秒。
65  *
66  * @par 描述
67  * 转换cycle为微秒。
68  *
69  * @attention 无
70  *
71  * @param cycle [IN]  类型#U64,cycle数。
72  *
73  * @retval [0,0xFFFFFFFFFFFFFFFF] 转换后的微秒数。
74  * @par 依赖
75  * <ul><li>prt_clk.h:该接口声明所在的头文件。</li></ul>
76  * @see PRT_ClkCycle2Ms
77  */
78 extern U64 PRT_ClkCycle2Us(U64 cycle);
79 
80 /*
81  * @brief 延迟时间(单位微秒)。
82  *
83  * @par 描述
84  * 延迟时间(单位微秒)。
85  *
86  * @attention 无
87  *
88  * @param delay [IN]  类型#U32,延迟微秒数。
89  *
90  * @retval 无
91  * @par 依赖
92  * <ul><li>prt_clk.h:该接口声明所在的头文件。</li></ul>
93  * @see PRT_ClkDelayMs
94  */
95 extern void PRT_ClkDelayUs(U32 delay);
96 
97 /*
98  * @brief 延迟时间(单位毫秒)。
99  *
100  * @par 描述
101  * 延迟时间(单位毫秒)。
102  *
103  * @param delay [IN]  类型#U32,延迟毫秒数。
104  *
105  * @retval 无
106  * @par 依赖
107  * <ul><li>prt_clk.h:该接口声明所在的头文件。</li></ul>
108  * @see PRT_ClkDelayUs
109  */
110 extern void PRT_ClkDelayMs(U32 delay);
111 
112 #ifdef __cplusplus
113 #if __cplusplus
114 }
115 #endif /* __cpluscplus */
116 #endif /* __cpluscplus */
117 
118 #endif /* PRT_CLK_H */
119