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

Posted

tags:

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

第八章、蜂鸣器驱动--学习笔记

蜂鸣器是 S3C6410 开发板上带的一个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器 发出尖叫声。本节将介绍蜂鸣器实现原犁,并实现一个完整的蜂呜器驱动(可以打开和关闭蜂鸣器).PWM驱动的实现方式不同于LED驱动,PWM驱动将由多个文件组成。这也是大多数i n u x驱动的标准实现方式.也就是说--个复杂的驱动不太可能将所有的代码都放在…个文件中。最好将相关的代码放在相应的文件中。在编译L i n u x驱动时将这些文件进行联合编译。本节将介绍把Li n u x驱动分成多个文件的方式。这些文件中的数据结构、函数的代码也可以被多个不同的驱动使用,所以这也是代码重用的重要方法。

代码重用分为静态和动态。静态重用是使用某些功能时,include相应的头文件即可。动态重用就是一个Linux驱动可以使用另外一个Linux驱动中的资源。C或C++语言中编译多个源代码文件时,如果a.c使用了b.c文件中的函数,需要在a.c文件中使用extern预先定义b.c中德函数,extern的作用就是告诉编译器该函数的函数名、参数个数、参数类型和返回值类型。Extern只在编译阶段起作用。

 当linux驱动异常无法正常卸载时,即无法使用rmmod命令卸载Linux驱动。有如下几种情况:

1.初始化函数奔溃。

2.卸载函数被阻塞。

当遇到这种情况时可以重启机器解决,但是每次都重启比较麻烦,因此可以通过修改Linux驱动的相应内存地址删除Linux驱动。

 

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

读书笔记

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

Android深度探索HAL读书笔记8

电子电路学习笔记(17)——蜂鸣器

51单片机学习笔记4 -- 蜂鸣器控制

51单片机学习笔记4 -- 蜂鸣器控制