Android深度探索第八章

來源:互聯網
上載者:User

標籤:

第八章

這章將介紹蜂鳴器的實現原犁,並實現一個完整的蜂嗚器驅動(可以開啟和關閉蜂鳴 器)。

1.Linux驅動的代碼重用:可以採用標準的C程式的方法將要重用的代碼放在其他的檔案中。如果要使用某些功能,include相應的標頭檔即可,也可以是另外一種動態重用的方式,也是一個Linux驅動可以使用另外一個Linux驅動中的資源。在main.c檔案中會發現多了兩個宏(_init和_exit),這兩個宏在之前的驅動程式中從未使用過。這兩個宏分別是用來標識Linux驅動初始化函數(main_init)和Linux驅動卸載函數(main_exit)。

2.強行卸載Linux驅動:通過rmmod命令卸載Linux驅動,但有時會導致Linux驅動模組無法卸載,如初始化函數崩潰卸載函數被阻塞

3.蜂鳴器(PWM)驅動:蜂鳴器是S3C6410開發板上帶的一個硬體裝置。可以通過向寄存器寫入特定的值來控制蜂鳴器 發出尖叫聲。PWm時驅動的實現方式不同於LED驅動,PWM驅動將由多個檔案組成。這也是大多數Linux驅動的標準實現方式。在編譯Linux驅動時將這些檔案進行聯合編譯。

小結:本章介紹了把Linux驅動分成多個檔案的方式。這些檔案中的資料結構、函數的代碼也可以被多個不同的驅動使用,所以這也是代碼重用的重要方法。PWM驅動與LED驅動的實現流程類似,可能還要簡單一些。在本章只是為了示範如何將一個Linux驅動分成多個實現檔案,才使用了比較簡單的PWM驅動。通過本章的學習,可以掌握Linux驅動常用的代碼重用方式。

Android深度探索第八章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.