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

蜂鸣器是开发板上的一个硬件设备,可通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。这一章我们对开发板上的蜂鸣器进行介绍。

蜂鸣器(PWM)驱动--蜂鸣器是开发板上自带的一个硬件。通过相应的寄存器控制蜂鸣器的打开和关闭,并且在实现蜂鸣器的驱动时,将打开和关闭蜂鸣器的函数放到了另外的C源代码中,通过多个*.o文件产生*.ko驱动文件。

蜂鸣器驱动的原理:蜂鸣器也称为PWM-脉冲宽度调制,基本原理是通过脉冲来控制蜂鸣器的打开和停止。PWM使用端口F的GPFCON寄存器进行控制。该寄存器在Linux内核中对应的宏是S3C64XX_GPFCON,表示GPFCON寄存器的虚拟地址,只用了高两位来控制PWM。当高两位为10时,打开PWM,为00时停止PWM,只需通过iowrite32()为GPFCON寄存器设置不同的值即可。

实现蜂鸣器驱动的方式为通过I/O命令可以打开和停止PWM。PWM驱动有3个文件,驱动主程序、头文件和包含打开和停止PWM的两个函数的文件。还有编译驱动的Makefile文件。

测试蜂鸣器驱动的步骤为,先进入/root/drivers/ioctl目录,执行build.sh脚本文件编译和上传ioctl文件。在测试PWM驱动前,先要编译和安装PWM驱动,然后进入开发板终端的/data/local目录,输入命令“# ./ioctl /dev/pwm_dev 1 0”打开PWM。输入命令“# ./ioctl /dev/pwm_dev 0 0”停止PWM。ioctl命令必须要求输入I/O命令的参数,但PWM驱动未使用I/O命令参数,所以ioctl最后一个命令行参数可任意输入。

 

转载于:https://www.cnblogs.com/Horatia/p/5639148.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值