前置知識,通過學習aworks開發框架,對於pwm而關鍵在於pwm的id號,只要在註冊pwm時,確認了其對應的id號,程式設計起來就很輕鬆了。
/**
* \addtogroup grp_aw_if_pwm
* \copydoc aw_pwm.h
* @ awbl_imx10xx_eflex_pwm_devcfg_t;
這兩個pwm的id號分別為pwm2 pwm3,在aworks框架下已定義。所以控制蜂鳴器的通pwmm道號就是pwm2 pwm3。
aw_local aw_const awbl_imx10xx_eflex_pwm_devcfg_t __g_imx1050_eflex_pwm2_devcfg_list = ,
};
在aw_prj_config.c檔案當中
#ifdef aw_drv_imx1050_eflex_pwm
awbl_imx10xx_eflex_pwm_drv_register();
#endif
只需要在aw_prj_params.h開啟如下定義
aw_prj_params.h
#define aw_dev_imx1050_eflex_pwm2
即可註冊相關的裝置資源與裝置驅動。
aw_prj_param_auto_cfg.h
/** * \name 內部eflexpwm
* @ */
void buzzer_test()
在適配蜂鳴器硬體驅動時,筆者先通過rt1052資料手冊的了解硬體上pwm的相關資訊,才能理解pwm裝置資源相關的資訊。文章本身也是預設pwm的驅動是正常的,作為開發者只需要適配原理圖的硬體設計。只要抓住裝置資源的註冊,裝置驅動的註冊,使能裝置巨集開關。只要抓住這三點,預設裝置驅動正常,稍加修改裝置資源檔案即可,並使能裝置巨集開關,編寫測試程式,就可以驗證硬體是否是正常的。在aworks的框架內部有針對蜂鳴器的操作介面,但是由於我們是兩路的pwm,硬體不適合使用該框架註冊,如果是一路pwm控制蜂鳴器,就可以使用框架自帶的蜂鳴器介面。 基於RT1052 Aworks 儲存擴容記錄(八)
通過比較發現其硬體上接線是一致的,只是內部容量由8m改為32m.之前開發過linux spi flash驅動的經驗,qspi flash 一般我們比較關注的是它的工作電壓,工作速率,寫入大小,擦除大小,位址模式,一般相容的話,只需要改其容量等引數。在aworks 框架之下,檔案 awbl hwcon...