/*
* Copyright (c) 2009-2022 Huawei Technologies Co., Ltd. All rights reserved.
*
* UniProton is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
* Create: 2009-12-22
* Description: 时钟模块的对外头文件。
*/
#ifndef PRT_CLK_H
#define PRT_CLK_H
#include "prt_typedef.h"
#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif /* __cpluscplus */
#endif /* __cpluscplus */
/*
* @brief 获取当前的64位time stamp计数(即系统运行的cycles)。
*
* @par 描述
* 获取当前的64位time stamp计数(即系统运行的cycles)。
*
* @attention
*
*
* @param 无。
*
* @retval [0,0xFFFFFFFFFFFFFFFF] 系统当前的cycle数
* @par 依赖
*
* @see 无
*/
extern U64 PRT_ClkGetCycleCount64(void);
/*
* @brief 转换cycle为毫秒。
*
* @par 描述
* 转换cycle为毫秒。
*
* @attention 无
*
* @param cycle [IN] 类型#U64,cycle数。
*
* @retval [0,0xFFFFFFFFFFFFFFFF] 转换后的毫秒数。
* @par 依赖
*
* @see PRT_ClkCycle2Us
*/
extern U64 PRT_ClkCycle2Ms(U64 cycle);
/*
* @brief 转换cycle为微秒。
*
* @par 描述
* 转换cycle为微秒。
*
* @attention 无
*
* @param cycle [IN] 类型#U64,cycle数。
*
* @retval [0,0xFFFFFFFFFFFFFFFF] 转换后的微秒数。
* @par 依赖
*
* @see PRT_ClkCycle2Ms
*/
extern U64 PRT_ClkCycle2Us(U64 cycle);
/*
* @brief 延迟时间(单位微秒)。
*
* @par 描述
* 延迟时间(单位微秒)。
*
* @attention 无
*
* @param delay [IN] 类型#U32,延迟微秒数。
*
* @retval 无
* @par 依赖
*
* @see PRT_ClkDelayMs
*/
extern void PRT_ClkDelayUs(U32 delay);
/*
* @brief 延迟时间(单位毫秒)。
*
* @par 描述
* 延迟时间(单位毫秒)。
*
* @param delay [IN] 类型#U32,延迟毫秒数。
*
* @retval 无
* @par 依赖
*
* @see PRT_ClkDelayUs
*/
extern void PRT_ClkDelayMs(U32 delay);
#ifdef __cplusplus
#if __cplusplus
}
#endif /* __cpluscplus */
#endif /* __cpluscplus */
#endif /* PRT_CLK_H */