Android深度探索(卷1)HAL与驱动开发linux
心得体会函数
第八章 让开发板发出声音:蜂鸣器驱动开发
蜂鸣器是s3c6410开发板上带的一个硬件设备,能够经过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。编译
在前面的章节编写了两个完整的linux驱动:word_count驱动和led驱动,两个有一共同点就是都有一个源代码文件组成。原理
代码重用分为静态和动态两种。即将须要重要的代码使用者放在一块儿进行编译,最终生成一个可执行的文件或程序库。硬件
蜂鸣器与led相似,也是s3c6410开发板上自带的一个简单的硬件。若是打开蜂鸣器,开发板会发出相似蜂鸣的尖叫声,关闭蜂鸣器则会中止尖叫声。引用
若是编写的linux驱动程序在逻辑上是正确的,那么能够正常装载和卸载,但在某种状况下,可能某些程序会出现异常状况。这时linux驱动可能会没法正常卸载。程序
蜂鸣器也称pwm,基本原理是经过脉冲来控制蜂鸣器的打开和中止。方法
Pwm驱动由三个文件组成:pwm_c.pwm_fun.h、pwm_fun.c。其中pwm.c是驱动主程序。pwm_fun.h引用了相应的头文件,以及定义了一些宏。pwm_fun.c文件则包含了打开和中止pwm的两个函数。异常
Linux 驱动经常使用的代码重用方式。以及强行卸载Linux驱动的方法,从而免去不断重启机器的痛苦。