蜂鸣器驱动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蜂鸣器驱动相关的知识,希望对你有一定的参考价值。

1.Linux驱动的代码重用

静态重用:将重用的代码放在其他文件中,如使用哪些功能,include相应的头文件

动态重用:一个linux驱动使用另一个linux驱动中的资源

2.强行卸载linux驱动

情况1:初始化函数崩溃(将当前的linux驱动模块的引用计数器清零)

情况2:卸载函数被阻塞(将原来的卸载函数替换成一个空的卸载函数)

3.蜂鸣器pwm驱动

原理:通过脉冲来控制蜂鸣器的打开和停止。靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。

通过iowrite32函数为GPFCON寄存器设置不同的值(最高位30和31位为10,打开pwm,00停止pwm)

Pwm.c驱动主程序

Pwm_fun.h引用相应的头文件,以及定义了一些宏

Pwm_fun.c包含了打开和停止pwm的两个函数(pwm_start和pwm_stop)

编译器先将pwm.c和pwm_fun.c文件编译成pwm.oh和pwm_fun.o,然后再将这两个*.o文件链接成pwm_driver.o,最后生成pwm_driver.ko

测试蜂鸣器驱动:

进入/root/drivers/ioctl目录,执行build.sh脚本文件编译和上传ioctl文件。编译和安装pwm驱动,然后进入开发板终端的/data/local目录,输入如下命令打开pwm

# ./ioctl /dev/pwm_dev 1 0

输入如下命令停止pwm:

# ./ioctl /dev/pwm_dev 0 0

以上是关于蜂鸣器驱动的主要内容,如果未能解决你的问题,请参考以下文章

八蜂鸣器驱动--学习笔记

第八章 让开发板发出声音:蜂鸣器驱动

51单片机 驱动有源/无源蜂鸣器+Proteus仿真

蜂鸣器驱动的学习

linux驱动开发之misc设备与蜂鸣器驱动

第八章 让开发板发出声音:蜂鸣器驱动