PWM驱动API描述
PWM驱动的API主要包括:
| API类别 | API名称 | 描述 |
|---|---|---|
| 初始化 | hal_pwm_init() | 初始化PWM外设,配置输出参数。 |
| hal_pwm_deinit() | 反初始化PWM外设。 | |
| hal_pwm_msp_init() | 初始化PWM外设所使用的GPIO。 | |
| hal_pwm_msp_deinit() | 反初始化PWM外设所使用的GPIO。 | |
| IO操作 | hal_pwm_start() | 使能PWM输出。 |
| hal_pwm_stop() | 停止PWM输出。 | |
| hal_pwm_update_freq() | 更新PWM输出频率。 | |
| hal_pwm_config_channel() | 配置PWM通道参数。 | |
| 状态及错误 | hal_pwm_get_state() | 获取驱动运行状态。 |
| 睡眠相关 | hal_pwm_suspend_reg() | 睡眠时挂起PWM配置相关的寄存器。 |
| hal_pwm_resume_reg() | 唤醒时恢复PWM配置相关的寄存器。 |
下面章节将对各API进行详细描述。
hal_pwm_init
| 函数原型 | hal_status_t hal_pwm_init(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 根据pwm_init_t里的参数初始化PWM外设和初始化关联句柄。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_pwm_deinit
| 函数原型 | hal_status_t hal_pwm_deinit(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 反初始化PWM外设。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 |
hal_pwm_msp_init
| 函数原型 | void hal_pwm_msp_init(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 初始化PWM外设所使用的GPIO等配置。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,开发者需重写该API完成GPIO的初始化。 |
hal_pwm_msp_deinit
| 函数原型 | void hal_pwm_msp_deinit(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 反初始化PWM外设所使用的GPIO等配置。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针。 |
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,开发者需重写该API完成GPIO的反初始化。 |
hal_pwm_start
| 函数原型 | hal_status_t hal_pwm_start(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 使能PWM输出。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 | 当输出通道的参数配置好后调用该接口,PWM通道输出波形。 |
hal_pwm_stop
| 函数原型 | hal_status_t hal_pwm_stop(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 停止PWM输出 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 | HAL状态。 |
| 备注 | PWM输出波形时,调用该接口可以停止PWM波形输出。 |
hal_pwm_update_freq
| 函数原型 | hal_status_t hal_pwm_update_freq(pwm_handle_t *p_pwm, uint32_t freq) |
|---|---|
| 功能说明 | 更新PWM输出频率 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 freq:输出频率。取值范围:1 ~ 32000000,建议小于500000。 |
| 返回值 | HAL状态。 |
| 备注 | PWM输出波形时,调用该接口可以改变PWM波形输出频率。 |
hal_pwm_config_channel
| 函数原型 | hal_status_t hal_pwm_config_channel(pwm_handle_t *p_pwm, pwm_channel_init_t *p_config, hal_pwm_active_channel_t channel) |
|---|---|
| 功能说明 | 配置PWM输出通道。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 p_config:指向pwm_channel_init_t结构体变量的指针,该结构体变量包含PWM通道的配置信息。 channel:待配置的通道。 |
| 返回值 | HAL状态。 |
| 备注 | PWM输出停止时,调用该接口可以重新配置通道参数。 |
hal_pwm_get_state
| 函数原型 | hal_pwm_state_t hal_pwm_get_state(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 获取PWM运行状态。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 |
PWM运行状态,参数的取值可以是下列值中的任意一个:
|
| 备注 |
hal_pwm_suspend_reg
| 函数原型 | hal_status_t hal_pwm_suspend_reg(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 睡眠时挂起PWM配置相关的寄存器。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 |
PWM运行状态,参数的取值可以是下列值中的任意一个:
|
| 备注 |
hal_pwm_resume_reg
| 函数原型 | hal_status_t hal_pwm_resume_reg(pwm_handle_t *p_pwm) |
|---|---|
| 功能说明 | 唤醒时恢复PWM配置相关的寄存器。 |
| 输入参数 | p_pwm:指向pwm_handle_t结构体变量的指针,该结构体变量包含指定的PWM的配置信息。 |
| 返回值 |
PWM运行状态,参数的取值可以是下列值中的任意一个:
|
| 备注 |