linux kernel操作PWM函数

一、头文件

#include <linux/pwm.h>

 

二、注册PWM

struct pwm_device *pwm_request(int pwm_id, const char *label)

功能:申请一个PWM资源

参数:pwm_id:pwm编号;label:名称

返回值:成功返回pwm设备资源;失败返回错误信息,使用IS_ERR()判断

 

三、配置PWM

int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns)

功能:配置pwm

参数:pwm:申请到的pwm设备;duty_ns:pwm占空比时间,单位为ns;period_ns:pwm周期时间,单位为ns

返回值:成功返回0,失败返回错误码

 

四、使能PWM

int pwm_enable(struct pwm_device *pwm)

功能:使能pwm

参数:pwm:申请到的pwm设备

返回值:成功返回0,失败返回错误码

 

五、停止PWM

void pwm_disable(struct pwm_device *pwm)

功能:停止pwm

参数:pwm:申请到的pwm设备

 

六、设置PWM周期

void pwm_set_period(struct pwm_device *pwm, unsigned int period)

功能:设置PWM周期

参数:pwm:申请到的pwm设备;period:pwm周期时间,单位为ns

 

七、获取PWM周期

int pwm_get_period(const struct pwm_device *pwm)

功能:获取PWM周期

参数:pwm:申请到的pwm设备

返回值:pwm周期时间,单位为ns

 

八、设置PWM有效极性

int pwm_set_polarity(struct pwm_device *pwm, enum pwm_polarity polarity)

功能:设置PWM有效极性

参数:pwm:申请到的pwm设备;polarity:pwm有效极性 PWM_POLARITY_NORMAL / PWM_POLARITY_INVERSED

返回值:成功返回0,失败返回错误码

 

九、获取PWM有效极性

enum pwm_polarity pwm_get_polarity(const struct pwm_device *pwm)

功能:获取PWM有效极性

参数:pwm:申请到的pwm设备

返回值:pwm有效极性 PWM_POLARITY_NORMAL / PWM_POLARITY_INVERSED

 

十、释放PWM

void pwm_free(struct pwm_device *pwm)

功能:释放pwm资源

参数:pwm:申请到的pwm设备

 

posted @ 2021-01-12 11:31  wmate  阅读(1633)  评论(0编辑  收藏  举报