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