资源简介
嵌入式mp3项目
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DEVICE_NAME “buttons“
#define BUTTONS_MAJOR 232
#define BUTTON_NUM 6
//#define GPFDAT 0x56000054
#define GPGDAT 0x56000064
static int buttons_major = BUTTONS_MAJOR;
static void buttons_timer_handler(unsigned long data);
static irqreturn_t buttons_interrupt(int irq void *dev_id);
//static int buttons_setup_cdev(struct buttons_dev_t *devp int index);
struct button_irq_desc {
int irqno;
unsigned long flags;
char *name;
};
struct buttons_dev_t {
wait_queue_head_t buttons_waitqueue;
volatile int ev_press;
volatile unsigned int press_cnt[BUTTON_NUM];
struct button_irq_desc button_irqs[BUTTON_NUM];
struct cdev cdev;
struct timer_list button_timers[BUTTON_NUM];
int firstint;
};
static struct buttons_dev_t buttons_dev =
{
.ev_press = 0
.press_cnt = {0 0 0 0 0 0}
.button_irqs = {
{IRQ_EINT8 IRQF_TRIGGER_FALLING | IRQF_SHARED “KEY1“}
{IRQ_EINT11 IRQF_TRIGGER_FALLING “KEY2“}
{IRQ_EINT13 IRQF_TRIGGER_FALLING “KEY3“}
{IRQ_EINT14 IRQF_TRIGGER_FALLING “KEY4“}
{IRQ_EINT15 IRQF_TRIGGER_FALLING “KEY5“}
{IRQ_EINT19 IRQF_TRIGGER_FALLING “KEY6“}
}
.firstint = 0
};
static struct class *buttons_class;
static void *button123456virtaddr;// *button34virtaddr *button56virtaddr;
/******************************************************************/
static int s3c2440_buttons_open(struct inode *inode struct file *file)
{
int err i;
for (i = 0; i < BUTTON_NUM; i++) {
err = request_irq(buttons_dev.button_irqs[i].irqno buttons_interrupt buttons_dev.button_irqs[i].flags buttons_dev.button_irqs[i].name (void *)&buttons_dev);
if (err)
break;
}
if (err) {
i--;
for (; i >= 0; i--) {
free_irq(buttons_dev.button_irqs[i].irqno (void *)&buttons_dev);
return -EBUSY;
}
}
return 0;
}
static int s3c2440_buttons_close(struct inode *inode struct file *file)
{
int i;
for (i = 0; i < BUTTON_NUM; i++) {
free_irq(buttons_dev.button_irqs[i].irqno (void *)&buttons_dev);
}
return 0;
}
static int s3c2440_buttons_read(struct file *file char __user *buff size_t count loff_t *offp)
{
unsigned long err;
wait_event_interruptible(buttons_dev.buttons_waitqueue (buttons_dev.ev_press != 0));
buttons_dev.ev_press = 0;
err = copy_to_user(buff (const void *)buttons_dev.press_cnt min(sizeof(buttons_dev.press_cnt) count));
memset((void *)buttons_dev.press_cnt 0 sizeof(buttons_dev.press_cnt));
return err ? -EFAULT : 0;
}
static struct file_operations s3c2440_buttons_fops = {
.owner = THIS_MODULE
.open = s3c2440_buttons_open
.release = s3c2440_buttons_close
.read
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-03-08 15:36 嵌入式mp3项目\
目录 0 2012-03-08 15:30 嵌入式mp3项目\code\
目录 0 2012-03-07 12:44 嵌入式mp3项目\code\builsystem\
文件 17310 2009-08-28 17:27 嵌入式mp3项目\code\builsystem\cs8900.c
文件 6308 2009-07-03 18:34 嵌入式mp3项目\code\builsystem\cs8900.h
文件 38710 2010-08-26 11:51 嵌入式mp3项目\code\builsystem\mydm9000.c
文件 5032 2010-08-19 06:33 嵌入式mp3项目\code\builsystem\mydm9000.h
文件 5088 2008-08-01 19:47 嵌入式mp3项目\code\builsystem\nand_flash.c
文件 5560 2010-08-18 02:40 嵌入式mp3项目\code\builsystem\nand_read_ll.c
文件 43432 2009-05-22 12:58 嵌入式mp3项目\code\builsystem\s3c_uda1341.c
文件 7484 2012-02-26 10:59 嵌入式mp3项目\code\Button.c
文件 426 2012-03-08 15:30 嵌入式mp3项目\code\Makefile
文件 510 2012-03-08 15:29 嵌入式mp3项目\code\Makefile.bak
文件 6758 2012-03-04 10:32 嵌入式mp3项目\code\music_ctl-v0.1.c
目录 0 2012-03-08 15:36 嵌入式mp3项目\image\
文件 32312976 2010-12-26 16:22 嵌入式mp3项目\image\myfs.jffs2
文件 131128 2010-12-24 10:09 嵌入式mp3项目\image\u-boot.bin
文件 1520408 2010-12-26 16:03 嵌入式mp3项目\image\uImage
文件 180736 2012-03-04 16:51 嵌入式mp3项目\概要设计说明.doc
文件 67584 2012-03-06 22:09 嵌入式mp3项目\测试计划.doc
文件 41472 2012-03-08 15:28 嵌入式mp3项目\用户手册.doc
文件 1594368 2012-03-06 18:05 嵌入式mp3项目\详细设计说明.doc
文件 36352 2012-03-04 15:03 嵌入式mp3项目\需求分析.doc
文件 155648 2012-03-04 15:45 嵌入式mp3项目\项目开发总结.doc
文件 44032 2012-03-04 15:01 嵌入式mp3项目\项目申请书.doc
相关资源
- 嵌入式系统 原理、设计与应用.pdf
- STM32F4 HAL库函数手册(英文版)
- 国嵌嵌入式培训教材
- 嵌入式LINUX程序设计设计案例与实验教
- 嵌入式实时操作系统μCOS-Ⅱ经典——
- 数字集成电路与嵌入式内核系统可测
- STM32不完全手册库函数版本
- 嵌入式小车比赛
- 大连大学嵌入式期末大作业
- 基于stm32简单万年历设计
- ARM嵌入式系统结构与编程 邱铁著 清
- 爱上Arduino第3版中文高清版
- 基于FPGA的SOPC嵌入式系统设计与典型
- 从实践中学嵌入式Linux操作系统
- 基于visualSTATE状态机的嵌入式系统开发
- 国嵌-嵌入式Linux教程课件及配套例程
- 几篇非常好的国外嵌入式方面硕士论
- 嵌入式实时操作系统μCOS-II原理及应用
- lwip资料合集-嵌入式网络的那些事:
- STM32嵌入式微控制器快速上手 完整版
- 嵌入式系统设计师教程高清pdf版
- 基于EDK的FPGA嵌入式系统开发
- zw_STM32嵌入式微控制器快速上手.zip
- 时间触发嵌入式系统设计模式---文档
- arm嵌入式系统结构与编程.zip
- EmWin计算器_使用栈_带括号_适用于安富
- 嵌入式系统导论 CPS方法 最新第二版英
- Visualstate状态机基础教程
- 嵌入式系统软件设计中的常用算法
- 嵌入式实时操作系统μC\\OS-Ⅱ(第2版
评论
共有 条评论