COMP驱动API描述
COMP驱动的API主要如下:
| API类别 | API名称 | 描述 |
|---|---|---|
| 初始化 | hal_comp_init() | 初始化COMP模块,配置输入源、参考源、参考值等参数,同时调用hal_comp_msp_init完成中断相关配置,初始化COMP状态以及错误码。 |
| hal_comp_deinit() | 重置相关COMP相关寄存器、COMP状态、错误码等参数。 | |
| hal_comp_msp_init() | 初始化COMP模块所使用的NVIC中断。 | |
| hal_comp_msp_deinit() | 反初始化COMP模块所使用的NVIC中断。 | |
| IO操作 | hal_comp_start() | 开始比较器功能。 |
| hal_comp_stop() | 停止比较器功能。 | |
| 中断处理及回调函数 | hal_comp_irq_handler() | 中断处理函数。 |
| hal_comp_trigger_callback() | 中断回调函数。 | |
| 状态及错误 | hal_comp_get_state() | 获取驱动运行状态。 |
| hal_comp_get_error() | 获取错误码。 | |
| 睡眠相关 | hal_comp_suspend_reg() | 睡眠之前挂起和COMP配置相关的寄存器。 |
| hal_comp_resume_reg() | 唤醒时恢复和COMP配置相关的寄存器。 |
下面章节将对各API进行详细描述。
hal_comp_init
| 函数原型 | hal_status_t hal_comp_init(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 根据COMP句柄中的指定配置参数初始化COMP模块。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | HAL状态 |
| 备注 |
hal_comp_deinit
| 函数原型 | hal_status_t hal_comp_deinit(comp_handle_t *p_comp); |
|---|---|
| 功能说明 | 将COMP相关寄存器初始化为它们的默认重置值,同时重置比较器的状态和错误码。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_comp_msp_init
| 函数原型 | void hal_comp_msp_init(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 初始化COMP模块所使用的NVIC中断。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,开发者需要重写该API以完成相应的功能。 |
hal_comp_msp_deinit
| 函数原型 | void hal_comp_msp_deinit(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 反初始化COMP模块所使用的NVIC中断。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,开发者需要重写该API以完成相应的功能。 |
hal_comp_start
| 函数原型 | hal_status_t hal_comp_start(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 开始比较器功能,当输入电压高于参考电压,产生COMP中断。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_comp_stop
| 函数原型 | hal_status_t hal_comp_stop(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 停止比较器功能。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_comp_irq_handler
| 函数原型 | void hal_comp_irq_handler(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 处理COMP中断请求。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | 无 |
| 备注 |
hal_comp_trigger_callback
| 函数原型 | void hal_comp_trigger_callback(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 中断回调函数。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。 |
hal_comp_get_state
| 函数原型 | hal_comp_state_t hal_comp_get_state(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 获取比较器运行状态。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 |
COMP状态,值可以是下面中的任意一个:
|
| 备注 |
hal_comp_get_error
| 函数原型 | uint32_t hal_comp_get_error(comp_handle_t *p_comp) |
|---|---|
| 功能说明 | 获取比较器错误码。 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 |
COMP错误码,值可以是下面中的任意一个:
|
| 备注 |
hal_comp_suspend_reg
| 函数原型 | hal_status_t hal_comp_suspend_reg(comp_handle_t *p_comp); |
|---|---|
| 功能说明 | 睡眠之前挂起和COMP配置相关的寄存器 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | HAL状态 |
| 备注 |
hal_comp_resume_reg
| 函数原型 | hal_status_t hal_comp_resume_reg(comp_handle_t *p_comp); |
|---|---|
| 功能说明 | 唤醒时恢复和COMP配置相关的寄存器 |
| 输入参数 | p_comp:指向comp_handle_t结构体变量的指针,该结构体变量包含指定的COMP模块的配置信息。 |
| 返回值 | HAL状态 |
| 备注 |