蜂鸣器(buzzer)与 LED 类似,也是 S3C64l0 开发板上自带的一个简单的硬件。如果打开蜂鸣器,开发板会发出类似蜂鸣的尖叫声,关闭蜂鸣器则会停止尖叫声。 这一章将介绍如何通过相应的寄 存器来控制蜂鸣器的打开和关闭, 并且在实现蜂鸣器驱动时,将打开和关闭蜂鸣器的函数放到了另 外的 C源代码文件中。
从 Makefile 文件的内容可以看出,编译器 首先将pwm.c和 pwm_fun.c文件编译成 pw肌0 和 pwm_fun.o,然后再将这两个飞。文件链接成 pwm_命iver.o,最后生成 pwm_driver.ko。
测试蜂鸣器驱动首先进入/root/drivers/ioctl 目录, 执行 build础 脚本文 件编译和上传 i octl 文件〈如果启动多个 Android 设备,要选择上传到 S3C6410 开发板〉。在测试 PWM 驱动之前,先要按照上一节的方法编译 和安装 PWM 驱动,然后进入开发板终端的 Idata/local 目录, 输入如下的命令打开 PWM。 ii . / i。ctl /dev/pwm_dev 1 0 输入如下的命令停止 PWM。 # ./ioccl /dev/pwm_dev O O 由于 ioctl 命令必须要求输入 νo 命令的 参数,但 PWM 驱动未使用 uo 命令参数。所 以 ioctl 最后一个命令行参数可以任意输入 (本例输入的是 0)。执行上面的命令后,可以 正常发出尖叫声,说明 PWM 驱动测试成功。
时间: 2024-12-16 21:46:18