beep.rar

  • PUDN用户
    了解作者
  • C/C++
    开发工具
  • 109KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 5
    下载次数
  • 2014-01-28 11:48
    上传日期
MINI2440开发板的蜂鸣器驱动程序通过调节PWM控制响声
beep.rar
  • beep
  • beep
  • s3c2440beep.ko
    76.5KB
  • test
    9.2KB
  • .tmp_versions
  • s3c2440beep.mod
    105B
  • s3c2440beep.o
    65.4KB
  • Module.symvers
    0B
  • beep_test.c
    734B
  • s3c2440beep.mod.c
    444B
  • .s3c2440beep.ko.cmd
    272B
  • s3c2440beep.c
    3.4KB
  • s3c2440beep.ko
    76.5KB
  • modules.order
    60B
  • s3c2440beep.mod.o
    12.1KB
  • Makefile
    338B
  • .s3c2440beep.o.cmd
    21.7KB
  • .s3c2440beep.mod.o.cmd
    14.1KB
  • test
    9.2KB
内容介绍
/******************************************************************************************************/ // drivers/char/s3c2440beep.c Changed by libra // This program is free software; you can redistribute it and/or modify it under the terms of the // GNU General Public License version 2 as published by the Free Software Foundation. // GPB0 ---- beep /******************************************************************************************************/ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/init.h> #include <linux/device.h> #include <linux/miscdevice.h> #include <linux/delay.h> #include <linux/poll.h> #include <linux/spinlock.h> #include <linux/interrupt.h> #include <linux/types.h> #include <linux/cdev.h> #include <linux/kdev_t.h> #include <asm/io.h rel='nofollow' onclick='return false;'> #include <mach/hardware.h> #include <mach/regs-gpio.h> #include <plat/regs-timer.h> #define DEVICE_NAME "beep" #define BEEP_ON 1 #define BEEP_OFF 0 static struct cdev *cdev; static dev_t ndev; //dev_t for beep static struct class *beepClass; //************************************************************************************************ // ioctl 函数 //************************************************************************************************ static int s3c2440_beep_ioctl(struct inode *inode, struct file *file,unsigned int cmd, unsigned long arg) { switch(cmd) { case BEEP_ON : //beep_on s3c2410_gpio_setpin(S3C2410_GPB0,1); break; case BEEP_OFF ://beep_off s3c2410_gpio_setpin(S3C2410_GPB0,0); break; } return 0; } static struct file_operations s3c2440beep_fops = { .owner = THIS_MODULE, .ioctl = s3c2440_beep_ioctl, }; //************************************************************************************************ // module_init 函数 //************************************************************************************************ static int __init s3c2440_beep_init(void) { int ret; //****************** alloc dev_t **************************** ret = alloc_chrdev_region(&ndev,0,1,DEVICE_NAME); if(ret < 0) { printk(DEVICE_NAME"cannot alloc major\n"); return ret; } //****************** alloc cdev **************************** cdev = cdev_alloc(); if(!cdev) { printk(DEVICE_NAME"cannot alloc cdev\n"); ret = -ENOMEM; goto fail1; } cdev->owner = THIS_MODULE; cdev->ops = &s3c2440beep_fops; //****************** add cdev **************************** ret = cdev_add(cdev,ndev,1); if(ret < 0) { printk(DEVICE_NAME"failed to cdev_add"); goto fail2; } s3c2410_gpio_cfgpin(S3C2410_GPB0,S3C2410_GPB0_OUTP); //****************** creat device file ********************* beepClass = class_create(THIS_MODULE,DEVICE_NAME); if(IS_ERR(beepClass)) goto fail2; device_create(beepClass,NULL,ndev,NULL,DEVICE_NAME); printk("s3c2440beep successfully loaded major:%d, minor:%d\n",MAJOR(ndev),MINOR(ndev)); return 0; fail2: cdev_del(cdev); fail1: unregister_chrdev_region(ndev,1); return ret; } //******************************************************************************** // module_exit函数 //******************************************************************************** static void __exit s3c2440_beep_exit(void) { device_destroy(beepClass,ndev); class_destroy(beepClass); cdev_del(cdev); unregister_chrdev_region(ndev,1); } module_init(s3c2440_beep_init); module_exit(s3c2440_beep_exit); ODULE_LICENSE("GPL"); ODULE_AUTHOR("libra");
评论
    相关推荐
    • beep.rar
      嵌入式linux的蜂鸣器驱动源代码,基于S3C2440的驱动
    • beep.rar
      BEEP的控制程序,可以很好控制BEEP的运行
    • PWM.rar
      通过按键增大或减小PWM的数值,PWM的变化通过LED灯的亮度来显示
    • pwm_beep.zip
      pwm波来控制蜂鸣器,是学习arm9嵌入式linux的好资料,分享给大家
    • beep.zip
      S3C2410上的PWM驱动程序,详细解释每一条指令!结合S3C2410 datasheet
    • PWM_BEEP.zip
      利用PWM输出方式控制的蜂鸣器播放生日快乐曲子的简单功能源码及相关文档介绍
    • PWM CONTROL
      基于51单片机控制步进电机转速,可以通过按键调速
    • BEEP.zip
      单片机STM32F4蜂鸣器实验,user是工程文件的目录,H的是相关模块代码
    • beep.rar
      蜂鸣器的应用,启动和暂停的功能。可配合其他案件等进行响动等
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路