第八章

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

 

posted @ 2016-07-05 14:27  千年等成灰  阅读(111)  评论(0编辑  收藏  举报