linux kernel操作PWM函式

2022-09-23 03:02:06 字數 1839 閱讀 4492

#include

struct pwm_device *pwm_request(int pwm_id, const

char *label)

功能:申請一個pwm資源

引數:pwm_id:pwm編號;label:名稱

返回值:成功返回pwm裝置資源;失敗返回錯誤資訊,使用is_err()判斷

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,失敗返回錯誤碼

int pwm_enable(struct pwm_device *pwm)

功能:使能pwm

引數:pwm:申請到的pwm裝置

返回值:成功返回0,失敗返回錯誤碼

void pwm_disable(struct pwm_device *pwm)

功能:停止pwm

引數:pwm:申請到的pwm裝置

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

功能:設定pwm週期

引數:pwm:申請到的pwm裝置;period:pwm週期時間,單位為ns

int pwm_get_period(const

struct pwm_device *pwm)

功能:獲取pwm週期

引數:pwm:申請到的pwm裝置

返回值:pwm週期時間,單位為ns

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

功能:設定pwm有效極性

引數:pwm:申請到的pwm裝置;polarity:pwm有效極性 pwm_polarity_normal / pwm_polarity_inversed

返回值:成功返回0,失敗返回錯誤碼

enum pwm_polarity pwm_get_polarity(const

struct pwm_device *pwm)

功能:獲取pwm有效極性

引數:pwm:申請到的pwm裝置

返回值:pwm有效極性 pwm_polarity_normal / pwm_polarity_inversed

void pwm_free(struct pwm_device *pwm)

功能:釋放pwm資源

引數:pwm:申請到的pwm裝置

Linux kernel manpages

在linux核心中執行以下兩條命令即可 make mandocs sudo make installmandocs 生的manpages在 usr local man man9中,不是所有的函式都有,可以ls下這個目錄,看看有哪些 man netdev alloc skb 至少有一些函式不用的翻 了...

Linux kernel交叉編譯

為了fix掉其它架構的幾個bug,只好安裝多個架構的交叉編譯。 剛開始用crosstool的指令碼自動編譯安裝,搞了一天,還沒有搞完,太慢了...

如何編譯linux kernel

其實build kernel很簡單,首先參考kernel源 目錄下的readme檔案,基本上是這麼幾步 1 make mrproper 注意這一步走過之後, config會被恢復成預設設定 2 make menuconfig 在這裡面check配置項,決定哪個開啟,哪個關閉。哪些driver編譯成m...