DUAl TIMER驱动API描述
DUAL TIMER驱动的API主要包括:
| API类别 | API名称 | 描述 |
|---|---|---|
|
初始化 |
hal_dual_timer_base_init() |
初始化DUAL TIMER外设,配置计数初值等参数。 |
|
hal_dual_timer_base_deinit() |
反初始化DUAL TIMER外设。 |
|
|
hal_dual_timer_base_msp_init() |
初始化DUAL TIMER外设所使用的NVIC中断。 |
|
|
hal_dual_timer_base_msp_deinit() |
反初始化DUAL TIMER外设所使用的NVIC中断。 |
|
|
IO操作 |
hal_dual_timer_base_start() |
启动计数,轮询方式。 |
|
hal_dual_timer_base_stop() |
停止计数,轮询方式。 |
|
|
hal_dual_timer_base_start_it() |
启动计数,中断方式。 |
|
| hal_dual_timer_base_stop_it() |
停止计数,中断方式。 |
|
|
控制 |
hal_dual_timer_set_config() |
配置计数器参数。 |
|
中断处理及回调函数 |
hal_dual_timer_irq_handler() |
中断处理函数。 |
| hal_dual_timer_period_elapsed_callback() |
计数完成的中断回调函数。 |
|
|
状态及错误 |
hal_dual_timer_get_state() |
获取驱动运行状态。 |
下面章节将对各API进行详细描述。
hal_dual_timer_base_init
| 函数原型 | hal_status_t hal_dual_timer_base_init(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 根据dual_timer_handle_t中的指定参数初始化DUAL TIMER时间基单元,并初始化相关的句柄。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_dual_timer_base_deinit
| 函数原型 | hal_status_t hal_dual_timer_base_deinit(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 反初始化DUAL TIMER外设。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_dual_timer_base_msp_init
| 函数原型 | void hal_dual_timer_base_msp_init(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 初始化DUAL TIMER所使用的NVIC中断配置。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,开发者需重写该API完成NVIC中断的初始化。 |
hal_dual_timer_base_msp_deinit
| 函数原型 | void hal_dual_timer_msp_base_deinit(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 反初始化DUAL TIMER的NVIC中断配置。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,开发者需重写该API完成NVIC中断的反初始化。 |
hal_dual_timer_base_start
| 函数原型 | hal_status_t hal_dual_timer_base_start(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 使能DUAL TIMER外设,开始计数,轮询方式。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 | 该API未使能DUAL TIMER中断,开发者需调用hal_dual_timer_get_state()获取计数状态。 |
hal_dual_timer_base_stop
| 函数原型 | hal_status_t hal_dual_timer_base_stop(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 禁用DUAL TIMER外设,停止轮询方式下的计数。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 | 该API未禁止DUAL TIMER中断,可与hal_dual_timer_base_start()配合使用。 |
hal_dual_timer_base_start_it
| 函数原型 | hal_status_t hal_dual_timer_base_start_it(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 使能DUAL TIMER外设,开始计数,中断方式。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 | 该API会使能DUAL TIMER中断,计数完成时会调用回调函数hal_dual_timer_period_elapsed_callback()。 |
hal_dual_timer_base_stop_it
| 函数原型 | hal_status_t hal_dual_timer_base_stop_it(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 禁用DUAL TIMER外设,停止中断方式下的计数。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 | 该API禁止DUAL TIMER中断,可与hal_dual_timer_base_start_it()配合使用。 |
hal_dual_timer_set_config
| 函数原型 | hal_status_t hal_dual_timer_set_config(dual_timer_handle_t *p_dual_timer, dual_timer_init_t *p_structure) |
|---|---|
| 功能说明 | 配置DUAL TIMER计数器参数。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 p_structure:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的计数器配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_dual_timer_irq_handler
| 函数原型 | void hal_dual_timer_irq_handler(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | DUAL TIMER中断处理函数。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该API适合在初始化DUAL TIMER之后更改计数器配置。 |
hal_dual_timer_period_elapsed_callback
| 函数原型 | void hal_dual_timer_period_elapsed_callback(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | DUAL TIMER外设计数完成的中断回调函数。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。 |
hal_dual_timer_get_state
| 函数原型 | hal_dual_timer_state_t hal_dual_timer_get_state(dual_timer_handle_t *p_dual_timer) |
|---|---|
| 功能说明 | 返回DUAL TIMER句柄状态。 |
| 输入参数 | p_dual_timer:指向dual_timer_handle_t结构体变量的指针,该结构体变量包含指定的DUAL TIMER模块的配置信息。 |
| 返回值 |
DUAL TIMER状态,该参数的取值可能是下列值中的任意一个:
|
| 备注 |