XFusion API v1.3.0
载入中...
搜索中...
未找到

定时器。 更多...

tim 的协作图:

结构体

struct  _xf_hal_tim_callback_t
 定时器回调结构体。 更多...
 
struct  _xf_hal_tim_config_t
 用于对接 ADC 设置的参数。 更多...
 

类型定义

typedef uint32_t xf_tim_num_t
 tim 序号。
 
typedef void(* xf_hal_tim_cb_t) (xf_tim_num_t tim_num, uint32_t ticks, void *user_data)
 tim 回调函数原型。
 
typedef struct _xf_hal_tim_callback_t xf_hal_tim_callback_t
 定时器回调结构体。
 
typedef enum _xf_hal_tim_active_t xf_hal_tim_active_t
 定时器是否开始定时。
 
typedef enum _xf_hal_tim_count_dir_t xf_hal_tim_count_dir_t
 定时器计数方向。
 
typedef enum _xf_hal_tim_cmd_t xf_hal_tim_cmd_t
 用于对接定时器设置的命令。
 
typedef struct _xf_hal_tim_config_t xf_hal_tim_config_t
 用于对接 ADC 设置的参数。
 

枚举

enum  _xf_hal_tim_active_t { _XF_HAL_TIM_ACTIVE_BASE = 0 , XF_HAL_TIM_ACTIVE_STOP = _XF_HAL_TIM_ACTIVE_BASE , XF_HAL_TIM_ACTIVE_START , _XF_HAL_TIM_ACTIVE_MAX }
 定时器是否开始定时。 更多...
 
enum  _xf_hal_tim_count_dir_t {
  _XF_HAL_TIM_COUNT_DIR_BASE = 0 , XF_HAL_TIM_COUNT_DIR_UP = _XF_HAL_TIM_COUNT_DIR_BASE , XF_HAL_TIM_COUNT_DIR_DOWN , XF_HAL_TIM_COUNT_DIR_CENTER ,
  _XF_HAL_TIM_COUNT_DIR_MAX
}
 定时器计数方向。 更多...
 
enum  _xf_hal_tim_cmd_t {
  XF_HAL_TIM_CMD_DEFAULT = 0 , XF_HAL_TIM_CMD_ACTIVE = 0X1 << 0 , XF_HAL_TIM_CMD_AUTO_RELOAD = 0X1 << 1 , XF_HAL_TIM_CMD_COUNT_DIR = 0X1 << 2 ,
  XF_HAL_TIM_CMD_TICK_FREQ_HZ = 0X1 << 3 , XF_HAL_TIM_CMD_TARGET_TICKS = 0X1 << 4 , XF_HAL_TIM_CMD_CB = 0X1 << 5 , XF_HAL_TIM_CMD_ISR = 0X1 << 6 ,
  XF_HAL_TIM_CMD_ALL = 0x7FFFFFFF
}
 用于对接定时器设置的命令。 更多...
 

函数

xf_err_t xf_hal_tim_init (xf_tim_num_t tim_num, uint32_t tick_freq_hz, xf_hal_tim_count_dir_t count_dir, bool auto_reload)
 定时器初始化函数。
 
xf_err_t xf_hal_tim_deinit (xf_tim_num_t tim_num)
 定时器反初始化函数。
 
xf_err_t xf_hal_tim_set_cb (xf_tim_num_t tim_num, xf_hal_tim_cb_t callback, void *user_data)
 定时器设置中断回调函数。
 
xf_err_t xf_hal_tim_set_isr (xf_tim_num_t tim_num, xf_hal_tim_cb_t callback, void *user_data)
 定时器设置中断服务函数。
 
xf_err_t xf_hal_tim_start (xf_tim_num_t tim_num, uint32_t target_ticks)
 定时器开始执行。
 
xf_err_t xf_hal_tim_stop (xf_tim_num_t tim_num)
 定时器停止执行。
 
xf_err_t xf_hal_tim_set_raw_ticks (xf_tim_num_t tim_num, uint32_t ticks)
 设置当前的计数值。
 
uint32_t xf_hal_tim_get_raw_ticks (xf_tim_num_t tim_num)
 获取当前计数值。
 

详细描述

定时器。

类型定义说明

◆ xf_tim_num_t

typedef uint32_t xf_tim_num_t

tim 序号。

在文件 xf_hal_tim.h41 行定义.

◆ xf_hal_tim_cb_t

typedef void(* xf_hal_tim_cb_t) (xf_tim_num_t tim_num, uint32_t ticks, void *user_data)

tim 回调函数原型。

参数
tim_num请求回调的 tim 序号。
ticks当前的计数值。
user_data用户数据,见 xf_hal_tim_set_isruser_data 参数。

在文件 xf_hal_tim.h51 行定义.

◆ xf_hal_tim_callback_t

定时器回调结构体。

◆ xf_hal_tim_active_t

定时器是否开始定时。

◆ xf_hal_tim_count_dir_t

定时器计数方向。

◆ xf_hal_tim_cmd_t

用于对接定时器设置的命令。

注解
普通用户可忽略,移植者需注意。

◆ xf_hal_tim_config_t

用于对接 ADC 设置的参数。

注解
普通用户可忽略,移植者需注意。

枚举类型说明

◆ _xf_hal_tim_active_t

定时器是否开始定时。

枚举值
_XF_HAL_TIM_ACTIVE_BASE 
XF_HAL_TIM_ACTIVE_STOP 

定时器停止工作

XF_HAL_TIM_ACTIVE_START 

定时器开始工作

_XF_HAL_TIM_ACTIVE_MAX 

在文件 xf_hal_tim.h64 行定义.

◆ _xf_hal_tim_count_dir_t

定时器计数方向。

枚举值
_XF_HAL_TIM_COUNT_DIR_BASE 
XF_HAL_TIM_COUNT_DIR_UP 

向上计数

XF_HAL_TIM_COUNT_DIR_DOWN 

向下计数

XF_HAL_TIM_COUNT_DIR_CENTER 

中心对齐计数

_XF_HAL_TIM_COUNT_DIR_MAX 

在文件 xf_hal_tim.h76 行定义.

◆ _xf_hal_tim_cmd_t

用于对接定时器设置的命令。

注解
普通用户可忽略,移植者需注意。
枚举值
XF_HAL_TIM_CMD_DEFAULT 

默认参数命令,在创建设备时优先执行

XF_HAL_TIM_CMD_ACTIVE 

激活命令,见 xf_hal_tim_config_t::active

XF_HAL_TIM_CMD_AUTO_RELOAD 

自动重装载命令,见 xf_hal_tim_config_t::auto_reload

XF_HAL_TIM_CMD_COUNT_DIR 

计数方向命令,见 xf_hal_tim_config_t::count_dir

XF_HAL_TIM_CMD_TICK_FREQ_HZ 

计数频率命令,见 xf_hal_tim_config_t::tick_freq_hz

XF_HAL_TIM_CMD_TARGET_TICKS 

目标计数值命令,见 xf_hal_tim_config_t::target_ticks

XF_HAL_TIM_CMD_CB 

定时器中断回调命令,见 xf_hal_tim_config_t::cb

XF_HAL_TIM_CMD_ISR 

定时器中断服务命令,见 xf_hal_tim_config_t::isr

XF_HAL_TIM_CMD_ALL 

默认设置命令,在创建设备时其次执行

在文件 xf_hal_tim.h91 行定义.

函数说明

◆ xf_hal_tim_init()

xf_err_t xf_hal_tim_init ( xf_tim_num_t  tim_num,
uint32_t  tick_freq_hz,
xf_hal_tim_count_dir_t  count_dir,
bool  auto_reload 
)

定时器初始化函数。

使用定时器之前必须要进行初始化。

参数
tim_num定时器的序号。
tick_freq_hz定时器的频率。
count_dir定时器方向。
auto_reload是否自动重装载。
返回
xf_err_t
  • XF_OK 成功初始化
  • other 初始化失败

在文件 xf_hal_tim.c51 行定义.

◆ xf_hal_tim_deinit()

xf_err_t xf_hal_tim_deinit ( xf_tim_num_t  tim_num)

定时器反初始化函数。

恢复到未初始化状态且回收相关资源。

参数
tim_num定时器的序号。
返回
xf_err_t
  • XF_OK 成功反初始化
  • XF_ERR_UNINIT 该定时器未初始化
  • other 反初始化失败

在文件 xf_hal_tim.c81 行定义.

◆ xf_hal_tim_set_cb()

xf_err_t xf_hal_tim_set_cb ( xf_tim_num_t  tim_num,
xf_hal_tim_cb_t  callback,
void *  user_data 
)

定时器设置中断回调函数。

该回调函数会在异步任务中执行,虽然实时性较差。但是能够在回调中打印等操作。

参数
tim_num定时器的序号。
callback中断回调函数。
user_data用户自定义参数
返回
xf_err_t
  • XF_OK 成功设置
  • XF_ERR_UNINIT 该定时器未初始化
  • other 设置失败

在文件 xf_hal_tim.c96 行定义.

◆ xf_hal_tim_set_isr()

xf_err_t xf_hal_tim_set_isr ( xf_tim_num_t  tim_num,
xf_hal_tim_cb_t  callback,
void *  user_data 
)

定时器设置中断服务函数。

该函数运行于中断中,实时性比较高,但是不能运行打印等操作。

参数
tim_num定时器的序号。
callback定时器中断服务函数。
user_data用户自定义参数。
返回
xf_err_t
  • XF_OK 成功设置
  • XF_ERR_UNINIT 该定时器未初始化
  • other 设置失败

在文件 xf_hal_tim.c122 行定义.

◆ xf_hal_tim_start()

xf_err_t xf_hal_tim_start ( xf_tim_num_t  tim_num,
uint32_t  target_ticks 
)

定时器开始执行。

参数
tim_num定时器的序号。
target_ticks定时器目标计数值。
返回
xf_err_t
  • XF_OK 成功执行
  • XF_ERR_UNINIT 该定时器未初始化
  • other 执行失败

在文件 xf_hal_tim.c148 行定义.

◆ xf_hal_tim_stop()

xf_err_t xf_hal_tim_stop ( xf_tim_num_t  tim_num)

定时器停止执行。

参数
tim_num定时器的序号。
返回
xf_err_t
  • XF_OK 成功停止执行
  • XF_ERR_UNINIT 该定时器未初始化
  • other 停止执行失败

在文件 xf_hal_tim.c175 行定义.

◆ xf_hal_tim_set_raw_ticks()

xf_err_t xf_hal_tim_set_raw_ticks ( xf_tim_num_t  tim_num,
uint32_t  ticks 
)

设置当前的计数值。

参数
tim_num定时器的序号。
ticks设置的计数值。
返回
xf_err_t
  • XF_OK 成功设置计数值
  • XF_ERR_UNINIT 该定时器未初始化
  • other 设置计数值失败

在文件 xf_hal_tim.c200 行定义.

◆ xf_hal_tim_get_raw_ticks()

uint32_t xf_hal_tim_get_raw_ticks ( xf_tim_num_t  tim_num)

获取当前计数值。

参数
tim_num定时器的序号。
返回
uint32_t 获取到当前的计数值,如果是 0 则为失败。

在文件 xf_hal_tim.c217 行定义.