zoukankan      html  css  js  c++  java
  • 第八章心得

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

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

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

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

    5测试蜂鸣器驱动的步骤为:先进入/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最后一个命令行参数可任意输入。

  • 相关阅读:
    暑假学习日记2013/7/20
    java二维码之利用谷歌的zxing生成二维码,解析二维码
    数组去重
    MVC VS2012 Code First 数据库迁移教程
    WIN8 MTK驱动不能安装解决办法
    洛谷 P1943 LocalMaxima_NOI导刊2009提高(1)
    BZOJ 1572 USACO 2009 Open 工作安排
    BZOJ 1724 USACO 2006 Nov. 切割木板
    BZOJ 1666 USACO 2006 Oct. 奶牛的数字游戏
    BZOJ 4094 USACO 2013 Dec. Optimal Milking
  • 原文地址:https://www.cnblogs.com/lpw0033/p/5641226.html
Copyright © 2011-2022 走看看