硬體平台:imx6
核心版本:kernel3.0.35
在linux核心中有乙個規律,linux核心開發者把通用的東西都總結出來,個性化的東西就留出介面,和gpio驅動類似,pwm驅動在核心中也提供了對應的介面函式,核心提供的介面函式宣告在include/linux/pwm.h中
//申請乙個pwm資源
struct pwm_device *pwm_request(int pwm_id, const char *label);
//釋放乙個pwm資源
void pwm_free(struct pwm_device *pwm);
//配置pwm
int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns);
//使能pwm
int pwm_enable(struct pwm_device *pwm);
//不使能pwm
void pwm_disable(struct pwm_device *pwm);
針對核心的框架,imx6對這些函式的實現位於arch/arm/plat-mxc/pwm.c中,利用這些介面函式我們就可以編寫自己的pwm驅動程式
步驟:
1 新增對pwm埠的初始化(本驅動基於飛思卡爾imx6,這部分不同的板子會有些許不同)
在arch/arm/mach-mx6/board-mx6q_sabresd.h
在mx6q_pad_sd1_dat3__pwm1_pwmo,後面新增
mx6q_pad_sd1_dat1__pwm3_pwmo,
mx6q_pad_sd1_cmd__pwm4_pwmo,
mx6q_pad_sd1_dat2__pwm2_pwmo,
2 使用pwm_request,pwm_free,pwm_config,pwm_enable,pwm_disable五個函式編寫混雜裝置驅動
linux 驅動之PWM蜂鳴器驅動
table of contents 1 常用pwm函式 2 驅動程式設計例項 3 應用程式設計 4 pwm裝置樹節點配置 5 核心配置 6 測試 申請乙個pwm裝置 pwm device pwm get struct device dev,const char con id 配置pwm週期和占空比 ...
PWM 驅動函式
函式名稱 bool pwm close dword handle 功能描述 驅動程式關閉函式 函式引數 dword handle 驅動程式控制程式碼 函式返回值 false 失敗 true 成功 呼叫程式 closehandle hfile 函式名稱 dword pwm open dword dwd...
Linux系統按鍵驅動
linux系統下對於按鍵裝置不僅可以進行讀操作,還可以進行寫操作。對鍵盤 滑鼠等裝置進行寫操作可以實現模擬按鍵的功能。另外,想知道 dev input eventx分別是哪些裝置可以通過執行下面的命令進行檢視,如下所示 yuhaiping neolix cat proc bus input devi...