WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
timer.c 文件参考
#include <stdbool.h>
#include <limits.h>
#include "securec.h"
#include "common_def.h"
#include "interrupt/osal_interrupt.h"
#include "tcxo.h"
#include "timer_porting.h"
#include "timer.h"
timer.c 的引用(Include)关系图:

结构体

struct  timer_info
 
struct  soft_timer_cfg
 
struct  timers_manager
 

宏定义

#define UINT64_MAX   (0xFFFFFFFFFFFFFFFFUL)
 
#define CONFIG_TIMER_MAX_TIMERS_NUM_3   CONFIG_TIMER_MAX_TIMERS_NUM
 
#define CONFIG_TIMER_MAX_TIMERS_NUM_EXTRA   CONFIG_TIMER_MAX_TIMERS_NUM
 
#define CUR_MAX_HARDWARE_TIMER_NUM   4
 
#define TIMER_SIZE_0   0
 
#define TIMER_SIZE_1   1
 
#define TIMER_SIZE_2   2
 
#define TIMER_SIZE_3   3
 
#define TIMER_SIZE_4   4
 

类型定义

typedef enum timer_flag timer_flag_t
 
typedef struct timer_info timer_info_t
 
typedef struct soft_timer_cfg soft_timer_cfg_t
 
typedef struct timers_manager timers_manager_t
 

枚举

enum  timer_flag { TIMER_FLAG_NORMAL , TIMER_FLAG_PERMANENT }
 

函数

STATIC bool timer_update_timers_time (timer_index_t index, uint64_t update_amount_cycle)
 
STATIC bool timer_process_timers (timer_index_t index)
 
STATIC uint32_t timer_get_next_timer (timer_index_t index)
 
STATIC uint64_t timer_get_time_till_interrupt (timer_index_t index)
 
STATIC void timer_set_next_timer_interrupt (timer_index_t index)
 
STATIC void timer_int_callback (timer_index_t index)
 
STATIC errcode_t soft_timer_list_cfg_get (uint32_t index, soft_timer_cfg_t *timer_info)
 
errcode_t uapi_timer_init (void)
 初始化定时器。
 
errcode_t uapi_timer_adapter (timer_index_t index, uint32_t int_id, uint16_t int_priority)
 适配定时器。
 
errcode_t uapi_timer_deinit (void)
 去初始化定时器。
 
errcode_t uapi_timer_create (timer_index_t index, timer_handle_t *timer)
 创建定时器。
 
errcode_t uapi_timer_delete (timer_handle_t timer)
 删除定时器。
 
uint32_t uapi_timer_get_max_us (void)
 用户可以获取到timer最大可以设置的延时时间(us)。
 
errcode_t uapi_timer_start (timer_handle_t timer, uint32_t time_us, timer_callback_t callback, uintptr_t data)
 启动指定的定时器。
 
errcode_t uapi_timer_stop (timer_handle_t timer)
 停止指定的定时器, 不会调用用户传入的callback.
 
errcode_t uapi_timer_get_current_time_us (timer_index_t index, uint32_t *current_time_us)
 获取指定底层Timer定时器的当前时间。
 

变量

timers_manager_t g_timers_manager [8]
 

宏定义说明

◆ CONFIG_TIMER_MAX_TIMERS_NUM_3

#define CONFIG_TIMER_MAX_TIMERS_NUM_3   CONFIG_TIMER_MAX_TIMERS_NUM

◆ CONFIG_TIMER_MAX_TIMERS_NUM_EXTRA

#define CONFIG_TIMER_MAX_TIMERS_NUM_EXTRA   CONFIG_TIMER_MAX_TIMERS_NUM

◆ CUR_MAX_HARDWARE_TIMER_NUM

#define CUR_MAX_HARDWARE_TIMER_NUM   4

◆ TIMER_SIZE_0

#define TIMER_SIZE_0   0

◆ TIMER_SIZE_1

#define TIMER_SIZE_1   1

◆ TIMER_SIZE_2

#define TIMER_SIZE_2   2

◆ TIMER_SIZE_3

#define TIMER_SIZE_3   3

◆ TIMER_SIZE_4

#define TIMER_SIZE_4   4

◆ UINT64_MAX

#define UINT64_MAX   (0xFFFFFFFFFFFFFFFFUL)

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2023. All rights reserved.

Description: Provides timer driver source
History:
2022-11-07, Create file.

类型定义说明

◆ soft_timer_cfg_t

◆ timer_flag_t

typedef enum timer_flag timer_flag_t

◆ timer_info_t

typedef struct timer_info timer_info_t

◆ timers_manager_t

枚举类型说明

◆ timer_flag

enum timer_flag
枚举值
TIMER_FLAG_NORMAL 
TIMER_FLAG_PERMANENT 

函数说明

◆ soft_timer_list_cfg_get()

STATIC errcode_t soft_timer_list_cfg_get ( uint32_t  index,
soft_timer_cfg_t timer_info 
)

◆ timer_get_next_timer()

STATIC uint32_t timer_get_next_timer ( timer_index_t  index)

◆ timer_get_time_till_interrupt()

STATIC uint64_t timer_get_time_till_interrupt ( timer_index_t  index)

◆ timer_int_callback()

STATIC void timer_int_callback ( timer_index_t  index)

◆ timer_process_timers()

STATIC bool timer_process_timers ( timer_index_t  index)

◆ timer_set_next_timer_interrupt()

STATIC void timer_set_next_timer_interrupt ( timer_index_t  index)

◆ timer_update_timers_time()

STATIC bool timer_update_timers_time ( timer_index_t  index,
uint64_t  update_amount_cycle 
)

变量说明

◆ g_timers_manager

timers_manager_t g_timers_manager[8]