XFusion API v1.3.0
|
定时器。 更多...
结构体 | |
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) |
获取当前计数值。 | |
定时器。
typedef uint32_t xf_tim_num_t |
tim 序号。
在文件 xf_hal_tim.h 第 41 行定义.
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_isr 的 user_data 参数。 |
在文件 xf_hal_tim.h 第 51 行定义.
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 | |
XF_HAL_TIM_ACTIVE_STOP | 定时器停止工作 |
XF_HAL_TIM_ACTIVE_START | 定时器开始工作 |
_XF_HAL_TIM_ACTIVE_MAX |
在文件 xf_hal_tim.h 第 64 行定义.
定时器计数方向。
枚举值 | |
---|---|
_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.h 第 76 行定义.
enum _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.h 第 91 行定义.
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_hal_tim.c 第 51 行定义.
xf_err_t xf_hal_tim_deinit | ( | xf_tim_num_t | tim_num | ) |
定时器反初始化函数。
恢复到未初始化状态且回收相关资源。
tim_num | 定时器的序号。 |
在文件 xf_hal_tim.c 第 81 行定义.
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_hal_tim.c 第 96 行定义.
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_hal_tim.c 第 122 行定义.
xf_err_t xf_hal_tim_start | ( | xf_tim_num_t | tim_num, |
uint32_t | target_ticks | ||
) |
定时器开始执行。
tim_num | 定时器的序号。 |
target_ticks | 定时器目标计数值。 |
在文件 xf_hal_tim.c 第 148 行定义.
xf_err_t xf_hal_tim_stop | ( | xf_tim_num_t | tim_num | ) |
定时器停止执行。
tim_num | 定时器的序号。 |
在文件 xf_hal_tim.c 第 175 行定义.
xf_err_t xf_hal_tim_set_raw_ticks | ( | xf_tim_num_t | tim_num, |
uint32_t | ticks | ||
) |
设置当前的计数值。
tim_num | 定时器的序号。 |
ticks | 设置的计数值。 |
在文件 xf_hal_tim.c 第 200 行定义.
uint32_t xf_hal_tim_get_raw_ticks | ( | xf_tim_num_t | tim_num | ) |