易截截图软件、单文件、免安装、纯绿色、仅160KB

s3c2440基于linux的button和led字符设备驱动

先是内核驱动程序:
#include <linux/module.h>//具体的头文件位置为/opt/FriendlyARM/mini2440/linux-2.6.29/include/linux/*.h
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/poll.h>
#include <linux/irq.h>
#include <asm/irq.h>
#include <linux/interrupt.h>
#include <asm/uaccess.h>
#include <mach/regs-gpio.h>//具体头文件位置/opt/FriendlyARM/mini2440/linux-2.6.29/arch/arm/mach-s3c2410/include/mach/*.h
#include <mach/hardware.h>
#include <linux/platform_device.h>
#include <linux/cdev.h>
#include <linux/miscdevice.h>
#include <linux/ioctl.h>
#define DEVICE_NAME "buttons"
struct button_irq_desc {
int irq;
int pin;
int pin_setting;
int number;
char *name;
};
static struct button_irq_desc button_irqs [] = {
{IRQ_EINT8 , S3C2410_GPG0 , S3C2410_GPG0_EINT8 , 0, "KEY0"},
{IRQ_EINT11, S3C2410_GPG3 , S3C2410_GPG3_EINT11 , 1, "KEY1"},
{IRQ_EINT13, S3C2410_GPG5 , S3C2410_GPG5_EINT13 , 2, "KEY2"},
{IRQ_EINT14, S3C2410_GPG6 , S3C2410_GPG6_EINT14 , 3, "KEY3"},
{IRQ_EINT15, S3C2410_GPG7 , S3C2410_GPG7_EINT15 , 4, "KEY4"},
{IRQ_EINT19, S3C2410_GPG11, S3C2410_GPG11_EINT19, 5, "KEY5"},
};
/* 上面初始化成员里的S3C2410_GPG0_EINT0在/opt/FriendlyARM/mini2440/linux-2.6.29/arch /arm/mach-s3c2410/include/mach/regs-gpio.h中定义为
#define S3C2410_GPF0_EINT0 (0x02 << 0),即为我们前面说的“10”模式,其他的管脚类似。这个初始化函数的作用就是将如S3C2410_GPF0_EINT0的模式写入地址为如 S3C2410_GPF0的寄存器里,并将这个管脚设置成中断模式,以及添加一些其他信息。*/
static volatile char key_values [] = {'0', '0', '0', '0', '0', '0'};
//声明LED的管脚
static unsigned long led_table [] ={ S3C2410_GPB5, S3C2410_GPB6, S3C2410_GPB7, S3C2410_GPB8,};
// 声明LED管脚的配置信息,此处的 S3C2410_GPB8_OUTP与上面的S3C2410_GPF0_EINT0类似。
static unsigned int led_cfg_table [] = { S3C2410_GPB5_OUTP, S3C


相关文档:

使用 Linux 系统调用的内核命令

2007 年 4 月 17 日
Linux® 系统调用 ——
我们每天都在使用它们。不过您清楚系统调用是如何在用户空间和内核之间执行的吗?本文将探究 Linux
系统调用接口(SCI),学习如何添加新的系统调用(以及实现这种功能的其他方法),并介绍与 SCI 有关的一些工具。
系统调用
就是用户空间 ......

解析C与C++中的关键字const

 
 
在C与C++语言中都存在关键字const,很多人都对此关键字存在一个错误的认识,认为在C语言中关键字const是使变量作为一个常量,即将变量常量化,就像宏定义一样。而在C语言中的关键字const所起的作用并不是使变量常量话,而是限制变量,使变量除了被赋初值外,无法被重新赋值。
而在C++中关键字const不仅使 ......

【转】C/C++ 笔试、面试题目大汇总


1.求下面函数的返回值(微软)
int func(x)
{
    int countx = 0;
    while(x)
    {
          countx ++;
          x = x&(x-1);
    ......

linux 命令集锦

最近在Linux装oracle 在网上搜了点资料和大家分享
linux下命令和文件及目录名都分大小写
//查看历史数据
history
history |grep mount
按"上下键"选以前敲过的命令
//拷贝文件
cp /usr/local/tomcat4/temp/func.class /usr/local/tomcat4/webapps/photoblog/WEB-INF/classes/framework/utils/
cp -Rf /photodataold ......

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号