zoukankan      html  css  js  c++  java
  • 第8章 蜂鸣器驱动

    蜂鸣器是S3C6410开发板上带的一个硬件设备。可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。

    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

  • 相关阅读:
    Kafka项目实践
    页级别的恢复
    Linux查看网卡流量(转)
    Linux Top 命令解析 比较详细(转)
    《神秘的程序员们》漫画26~28:《万年坑系列》 I、II、III(转)
    Linux概念架构的理解(转)
    Building Redis for use on Cygwin(转)
    2014值得期待的Erlang两本新书
    jps命令使用
    编译原理学习导论
  • 原文地址:https://www.cnblogs.com/redknot/p/5653435.html
Copyright © 2011-2022 走看看