函式名稱: bool pwm_close(dword handle)
功能描述:驅動程式關閉函式
函式引數: dword handle :驅動程式控制程式碼
函式返回值: false: 失敗 true: 成功
呼叫程式: closehandle(hfile);
函式名稱: dword pwm_open (
dword dwdata,
dword dwaccess,
dword dwsharemode
功能描述:開啟驅動程式
函式引數: dword dwdata : 裝置驅動程式控制程式碼
dword dwaccess : 訪問請求** , 是讀和寫的組合
dword dwsharemode: 共享模式
函式返回值:驅動程式引用事例控制代碼
呼叫程式:
createfile(text("pwm1:"), generic_read | generic_write, 0, 0, open_existing, 0, 0);
函式名稱: bool pwm_iocontrol(
dword handle,
dword dwiocontrolcode,
pbyte pinbuf,
dword ninbufsize,
pbyte poutbuf,
dword noutbufsize,
pdword pbytesreturned
功能描述:驅動程式 i/o 請求
函式引數: handle :裝置驅動的控制代碼
dwiocontrolcode :操作碼 裝置指定的 word 型標識,用於描述這個 iocontrol 操作的定義,該值定義:
// 設定預分頻值
#define ioctl_pwm_set_prescaler 1
// 設定分頻值
#define ioctl_pwm_set_divider 2
// 設定頻率和占空比
#define ioctl_pwm_start 3
// 獲取當前 pwm 的輸出頻率
#define ioctl_pwm_get_frequency 4
(poutbuf 資料型別為 dword ,長度為 1 ,用於返回 pwm 輸出頻率值
noutbufsize 取值為 1 )
pinbuf :輸入 buffer 緩衝區指標,指向需要傳給驅動程式使用的資料
ninbufsize :輸入 buffer 的 size 要傳給驅動程式使用的資料長度
poutbuf :輸出 buffer 緩衝區指標 指向驅動程式傳給應用程式使用的資料
noutbufsize :輸出 buffer 的 size 要傳送給應用程式使用的資料長度
pbytesreturned :實際處理資料長度
dwiocontrolcode
pinbuf
ninbufsize
ioctl_pwm_set_prescaler
設定預分頻值
第一位元組為定時器編號,取值 0 或 1,
第二位元組為分頻值,取值為 0-------255
2 ioctl_pwm_set_divider
設定分頻值
第一位元組為定時器編號,取值 0 或 1,
第二位元組為分頻值,取值為 2 , 4 , 8 , 16
2 ioctl_pwm_start
設定頻率和占空比
第一位元組為定時器編號,取值 0 或 1,
第二位元組為頻率值,取值為 0-------------65535
第三位元組為占空比值 取值為 0-----------65535
3 ioctl_pwm_get_frequency
獲取當前 pwm 的輸出頻率
定時器編號,取值 0 或 1,
1 函式返回值: true: 成功 false: 失敗
呼叫程式:
// 設定 pwm0 定時器預分頻值
byte prescale[2] = ;
::deviceiocontrol(hpwmfile, ioctl_pwm_set_prescaler, prescale, 2, null, 0, null, null);
// 設定 pwm0 定時器分頻值
byte divider[2] = ;
ret = ::deviceiocontrol(hpwmfile, ioctl_pwm_set_divider, divider, 2,
null, 0, null, null);
// 設定占空比和頻率
dword buff[3] = ;
ret = ::deviceiocontrol(hpwmfile, ioctl_pwm_start, buff, 3,
null, 0, null, null);
// 獲取 pwm0 輸出頻率
dword timer = 0, curfreq, actlen;
ret = ::deviceiocontrol(hpwmfile, ioctl_pwm_get_frequency, &timer, 1,
&curfreq, 1, &actlen, null);
Linux系統PWM驅動
硬體平台 imx6 核心版本 kernel3.0.35 在linux核心中有乙個規律,linux核心開發者把通用的東西都總結出來,個性化的東西就留出介面,和gpio驅動類似,pwm驅動在核心中也提供了對應的介面函式,核心提供的介面函式宣告在include linux pwm.h中 申請乙個pwm資源...
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週期和占空比 ...
ok6410 PWM 驅動蜂鳴器
驅動程式 include include include include include include include include include include include include include include include include include include i...