第8章 让开发板发出声音:蜂鸣器驱动
Linux驱动代码重用
编译是由多个文件组成的Linux 驱动
编写Makefile 文件
Makefile
obj-m. := multi_file_driver. o
multi_file_driver-y := main .o fun.o product.o
或使用multi_file_driver-objs : s main.o fun.o product .
强行卸载linux驱动
如果编写的Linux 驱动程序在逻辑上是正确的,那么可以正常装载和卸载,但在某些情况下,
可J能某些程序会出现异常情况。这时Linux 驱动可能会无法正常卸载。
8.1.2 Linux 驱动模块的依赖(导出符号)
代码重用分为静态和动态两种
情况1 : 初始化函数崩溃
情况2: 卸载函数被阻塞
执行下面的命令卸载指定的Linux 驱动模块。
# sh build. S.h
蜂鸣器(PWM)驱动
蜂呜器驱动的原理
蜂鸣器也称为PWM (脉冲宽度调制〉,基本原理是通过脉冲来控制蜂鸣器的打开和停止
实现蜂鸣器驱动
测试蜂鸣器驱动
打开PWM
ii . / ioctl /dev/pwm_dev 1 0
输入如下的命令停止PWM 。
# ./ioccl /dev/pwm_dev 0 0
PWM 驱动由3 个文件组成: pwm.c, pwm_fun.h 、pwm_fun.c。其中pwm.c 是驱动主程序。
pwm_fun.h 引用了相应的头文件,以及定义了一些宏。pwm_fun.c 文件则包含了打开和停止PWM
的两个函数( pwm_start 和pwm_stop )
http://i.cnblogs.com/EditPosts.aspx?opt=1