Android深度探索--HAL與驅動開發第八章讀後感

來源:互聯網
上載者:User

標籤:

本章介紹蜂鳴器的實現原犁,並實現一個完整的蜂嗚器驅動(可以開啟和關閉蜂鳴器),蜂鳴器也稱為PWM脈衝寬度調製,基本原理就是通過脈衝來控制蜂鳴器的開啟和停止。蜂鳴器是開發板上帶的一個硬體裝置,可以通過向寄存器寫入特定的值來控制蜂鳴器發出的聲音。

在完成過程中,首先完成的是linux驅動的代碼重用,首先是編譯由多個檔案組成的linux驅動,並產生ko檔案,最後makefile檔案。然後進行驅動模組的依賴,即在一個驅動模組裡使用另一個驅動模組裡的背到處的符號。

通過有I/O命令可以開啟和停止排位PWM,PWM驅動由三個檔案組成,pwm.c驅動主程式,pwm_fun.h相應標頭檔,pwm_fun.c包含了開啟和停止PWM的兩個函數。首先進入/root/drivers/ioctl執行build.h指令檔編譯和上傳ioctl,在測試前先要編譯和安裝PWM驅動,然後進入開發板終端的/data/local開啟和停止PWM。

PWM時驅動的實現方式不同於LED 驅動,PWM 驅動將由多個檔案組成。這也是大多數Linux 驅動的標準實現方式。在編譯 Linux 驅動時將這些檔案進行聯合編譯。本節將介紹把 Linux 驅動分成多個檔案的方式。這些檔案中的資料結構、函數的代碼也可以被多個不同的驅動使用,所以這也是代碼重用的重要方法。 PWM 驅動與 LED 驅動的實現流程類似,可能還要簡單一些。在本章只是為了示範如何將一個 Linux 驅動分成多個實現檔案,才使用了比較簡單的 PWM 驅動。

PWM驅動與LED類似,可能還要簡單一些,這章使用PWM驅動主要是為了更為簡單一下的將一個Linux驅動分為多個實現檔案,通過本章學習,也進一步掌握了代碼重用方法和強行卸載Linux驅動的方法,可以不用在不斷的重啟機器了。

 

Android深度探索--HAL與驅動開發第八章讀後感

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.