Timer
简要说明
Timer硬件定时器是由时钟驱动的计数器,可用来实现计时或定时产生中断的功能。计数器可以是递增或递减,每个时钟让计数器增1或减1。定时器支持自由运行和重载(reload)模式。其区别在于重载模式当计数器计数到指定值时会重新加载一个预设的值到计数器中,并可触发中断。
接口描述
csi_timer_initialize
timer_handle_t csi_timer_initialize(int32_t idx, timer_event_cb_t cb_event)
功能描述:
- 通过索引号初始化对应的Timer实例,返回timer实例的句柄。
参数:
idx
: 控制器号。cb_event
: 中断回调函数。
返回值:
- 成功返回实例句柄,失败返回NULL。
csi_timer_uninitialize
int32_t csi_timer_uninitialize(timer_handle_t handle)
功能描述:
- timer实例反初始化,该接口会停止timer实例正在进行的工作(如果有),并且释放相关的软硬件资源。
参数:
handle
: 实例句柄。实例句柄。
返回值:
- 错误码。
csi_timer_power_control
int32_t csi_timer_power_control(timer_handle_t handle, csi_power_stat_e state)
功能描述:
- 配置设备实例的功耗模式。
参数:
handle
: 实例句柄。state
: 设备实例的功耗模式,参看 csi_power_stat_e的定义。
返回值:
- 错误码。
csi_timer_config
int32_t csi_timer_config(timer_handle_t handle, timer_mode_e mode)
功能描述:
- 配置Timer实例的工作模式。
参数:
handle
: 实例句柄。mode
: Timer的工作模式,参考timer_mode_e的定义。
返回值:
- 错误码。
timer_mode_e:
名字 | 定义 | 备注 |
---|---|---|
TIMER_MODE_FREE_RUNNING | timer自由运行 | |
TIMER_MODE_RELOAD | timer重复定时运行 |
csi_timer_set_timeout
int32_t csi_timer_set_timeout(timer_handle_t handle, uint32_t timeout)
功能描述:
- Timer超时设置。
参数:
handle
: 实例句柄。timeout
: Timer超时时间,单位微秒(us)。
返回值:
- 错误码。
csi_timer_start
int32_t csi_timer_start(timer_handle_t handle)
功能描述:
- Timer计时启动。
参数:
handle
: 实例句柄。
返回值:
- 错误码。
csi_timer_stop
int32_t csi_timer_stop(timer_handle_t handle)
功能描述:
- Timer计时停止。
参数:
handle
: 实例句柄。
返回值:
- 错误码。
csi_timer_suspend
int32_t csi_timer_suspend(timer_handle_t handle)
功能描述:
- Timer计时暂停。
参数:
handle
: 实例句柄。
返回值:
- 错误码。
csi_timer_resume
int32_t csi_timer_resume(timer_handle_t handle)
功能描述:
- Timer计时恢复。
参数:
handle
: 实例句柄。
返回值:
- 错误码。
csi_timer_get_current_value
int32_t csi_timer_get_current_value(timer_handle_t handle, uint32_t *value)
功能描述:
- 获取Timer当前计时值。
参数:
handle
: 实例句柄。value
: 用来储存Timer当前计时值。
返回值:
- 错误码。
csi_timer_get_status
timer_status_t csi_timer_get_status(timer_handle_t handle)
功能描述:
- 获取Timer的状态。
参数:
handle
: 实例句柄。
返回值:
- Timer状态。
csi_timer_get_load_value
int32_t csi_timer_get_load_value(timer_handle_t handle, uint32_t *value)
功能描述:
- 获取Timer的Load寄存器值。
参数:
handle
: 实例句柄。value
: 获取出来的load寄存器值返回在value上。
返回值:
- 错误码。